org.apache.cassandra.cql3

## Class TypeCast

- java.lang.Object
- - org.apache.cassandra.cql3.Term.Raw
  - - org.apache.cassandra.cql3.TypeCast

- All Implemented Interfaces:
    AssignmentTestable

      public class TypeCast
      extends Term.Raw

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable

      `AssignmentTestable.TestResult`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypeCast(CQL3Type.Raw type, Term.Raw term)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AbstractType<?>` | `getExactTypeIfKnown(java.lang.String keyspace)` The type of the `term` if it can be infered.
    `java.lang.String` | `getText()`
    `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)`

    - ### Methods inherited from class org.apache.cassandra.cql3.Term.Raw

      `toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TypeCast

          public TypeCast(CQL3Type.Raw type,
                          Term.Raw term)

  - ### 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 class `Term.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`

    - #### 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 the `term` if it can be infered.
      Specified by:
        `getExactTypeIfKnown` in class `Term.Raw`
      Parameters:
        `keyspace` - the keyspace on which the statement containing this term is on.
      Returns:
        the type of this `Term` if inferrable, or `null` 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 return `null` too).

    - #### getText

          public java.lang.String getText()

      Specified by:
        `getText` in class `Term.Raw`
      Returns:
        a String representation of the raw term that can be used when reconstructing a CQL query string.

Copyright © 2018 The Apache Software Foundation