Package org.apache.cassandra.cql3
Class Constants.Literal
java.lang.Object
org.apache.cassandra.cql3.Term.Raw
org.apache.cassandra.cql3.Constants.Literal
- All Implemented Interfaces:
AssignmentTestable
- Enclosing class:
- Constants
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult -
Method Summary
Modifier and TypeMethodDescriptionstatic Constants.Literalstatic Constants.Literalstatic Constants.LiteralfloatingPoint(String text) AbstractType<?>getCompatibleTypeIfKnown(String keyspace) AbstractType<?>getExactTypeIfKnown(String keyspace) The type of thetermif it can be infered.getText()static Constants.Literalstatic Constants.Literalprepare(String keyspace, ColumnSpecification receiver) This method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.static Constants.LiteraltestAssignment(String keyspace, ColumnSpecification receiver) static Constants.Literal
-
Method Details
-
string
-
integer
-
floatingPoint
-
uuid
-
bool
-
hex
-
duration
-
prepare
public Constants.Value prepare(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
- 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
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 inferrable 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).
-
getCompatibleTypeIfKnown
- Specified by:
getCompatibleTypeIfKnownin interfaceAssignmentTestable- Overrides:
getCompatibleTypeIfKnownin classTerm.Raw- Returns:
- A data type that can represent this, or
nullif we can't determine that type. The returned type won't necessarely be the exact type, but one that is compatible with it.
-
getRawText
-
getText
-