Package org.apache.cassandra.cql3
Class UserTypes.Literal
- java.lang.Object
-
- org.apache.cassandra.cql3.Term.Raw
-
- org.apache.cassandra.cql3.UserTypes.Literal
-
- All Implemented Interfaces:
AssignmentTestable
- Enclosing class:
- UserTypes
public static class UserTypes.Literal extends Term.Raw
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Map<FieldIdentifier,Term.Raw>entries
-
Constructor Summary
Constructors Constructor Description Literal(java.util.Map<FieldIdentifier,Term.Raw> entries)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractType<?>getExactTypeIfKnown(java.lang.String keyspace)The type of thetermif it can be infered.java.lang.StringgetText()Termprepare(java.lang.String keyspace, ColumnSpecification receiver)This method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.AssignmentTestable.TestResulttestAssignment(java.lang.String keyspace, ColumnSpecification receiver)
-
-
-
Field Detail
-
entries
public final java.util.Map<FieldIdentifier,Term.Raw> entries
-
-
Constructor Detail
-
Literal
public Literal(java.util.Map<FieldIdentifier,Term.Raw> entries)
-
-
Method Detail
-
prepare
public Term prepare(java.lang.String keyspace, ColumnSpecification receiver) throws InvalidRequestException
Description copied from class:Term.RawThis method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.- Specified by:
preparein classTerm.Rawreceiver- the "column" this RawTerm is supposed to be a value of. Note that the ColumnSpecification may not correspond to a real column in the case this RawTerm describe a list index or a map key, etc...- Returns:
- the prepared term.
- Throws:
InvalidRequestException
-
testAssignment
public AssignmentTestable.TestResult testAssignment(java.lang.String keyspace, ColumnSpecification receiver)
- Returns:
- whether this object can be assigned to the provided receiver. We distinguish between 3 values: - EXACT_MATCH if this object is exactly of the type expected by the receiver - WEAKLY_ASSIGNABLE if this object is not exactly the expected type but is assignable nonetheless - NOT_ASSIGNABLE if it's not assignable Most caller should just call the isAssignable() method on the result, though functions have a use for testing "strong" equality to decide the most precise overload to pick when multiple could match.
-
getExactTypeIfKnown
public AbstractType<?> getExactTypeIfKnown(java.lang.String keyspace)
Description copied from class:Term.RawThe type of thetermif it can be infered.- Specified by:
getExactTypeIfKnownin classTerm.Raw- Parameters:
keyspace- the keyspace on which the statement containing this term is on.- Returns:
- the type of this
Termif inferrable, ornullotherwise (for instance, the type isn't inferable for a bind marker. Even for literals, the exact type is not inferrable since they are valid for many different types and so this will returnnulltoo).
-
-