Package org.apache.cassandra.cql3
Class Tuples.Literal
- java.lang.Object
-
- org.apache.cassandra.cql3.Term.Raw
-
- org.apache.cassandra.cql3.Term.MultiColumnRaw
-
- org.apache.cassandra.cql3.Tuples.Literal
-
- All Implemented Interfaces:
AssignmentTestable
- Enclosing class:
- Tuples
public static class Tuples.Literal extends Term.MultiColumnRaw
A raw, literal tuple. When prepared, this will become a Tuples.Value or Tuples.DelayedValue, depending on whether the tuple holds NonTerminals.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractType<?>
getExactTypeIfKnown(java.lang.String keyspace)
The type of theterm
if it can be infered.java.lang.String
getText()
Term
prepare(java.lang.String keyspace, java.util.List<? extends ColumnSpecification> receivers)
Term
prepare(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.TestResult
testAssignment(java.lang.String keyspace, ColumnSpecification receiver)
-
-
-
Constructor Detail
-
Literal
public Literal(java.util.List<Term.Raw> elements)
-
-
Method Detail
-
prepare
public Term prepare(java.lang.String keyspace, ColumnSpecification receiver) throws InvalidRequestException
Description copied from class:Term.Raw
This method validates this RawTerm is valid for provided column specification and "prepare" this RawTerm, returning the resulting prepared Term.- Specified by:
prepare
in classTerm.Raw
receiver
- 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
-
prepare
public Term prepare(java.lang.String keyspace, java.util.List<? extends ColumnSpecification> receivers) throws InvalidRequestException
- Specified by:
prepare
in classTerm.MultiColumnRaw
- 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.Raw
The type of theterm
if it can be infered.- Specified by:
getExactTypeIfKnown
in classTerm.Raw
- Parameters:
keyspace
- the keyspace on which the statement containing this term is on.- Returns:
- the type of this
Term
if inferrable, ornull
otherwise (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 returnnull
too).
-
-