org.apache.cassandra.cql3

## Class Tuples.DelayedValue

- java.lang.Object
- - org.apache.cassandra.cql3.Term.NonTerminal
  - - org.apache.cassandra.cql3.Tuples.DelayedValue

- All Implemented Interfaces:
    Term
  Enclosing class:
    Tuples

      public static class Tuples.DelayedValue
      extends Term.NonTerminal

  Similar to Value, but contains at least one NonTerminal, such as a non-pure functions or bind marker.

- - ### Nested Class Summary

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

      `Term.MultiColumnRaw, Term.MultiItemTerminal, Term.NonTerminal, Term.Raw, Term.Terminal`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.List<Term>` | `elements`
    `TupleType` | `type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DelayedValue(TupleType type, java.util.List<Term> elements)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFunctionsTo(java.util.List<Function> functions)`
    `Tuples.Value` | `bind(QueryOptions options)` Bind the values in this term to the values contained in `values`.
    `java.nio.ByteBuffer` | `bindAndGet(QueryOptions options)` A shorter for bind(values).get().
    `void` | `collectMarkerSpecification(VariableSpecifications boundNames)` Collects the column specification for the bind variables in this Term.
    `boolean` | `containsBindMarker()` Whether or not that term contains at least one bind marker.
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### type

          public final TupleType type

    - #### elements

          public final java.util.List<Term> elements

  - ### Constructor Detail

    - #### DelayedValue

          public DelayedValue(TupleType type,
                              java.util.List<Term> elements)

  - ### Method Detail

    - #### containsBindMarker

          public boolean containsBindMarker()

      Description copied from interface: `Term`
      Whether or not that term contains at least one bind marker. Note that this is slightly different from being or not a NonTerminal, because calls to non pure functions will be NonTerminal (see #5616) even if they don't have bind markers.

    - #### collectMarkerSpecification

          public void collectMarkerSpecification(VariableSpecifications boundNames)

      Description copied from interface: `Term`
      Collects the column specification for the bind variables in this Term. This is obviously a no-op if the term is Terminal.
      Parameters:
        `boundNames` - the variables specification where to collect the bind variables of this term in.

    - #### bind

          public Tuples.Value bind(QueryOptions options)
                            throws InvalidRequestException

      Description copied from interface: `Term`
      Bind the values in this term to the values contained in `values`. This is obviously a no-op if the term is Terminal.
      Parameters:
        `options` - the values to bind markers to.
      Returns:
        the result of binding all the variables of this NonTerminal (or 'this' if the term is terminal).
      Throws:
        `InvalidRequestException`

    - #### bindAndGet

          public java.nio.ByteBuffer bindAndGet(QueryOptions options)
                                         throws InvalidRequestException

      Description copied from interface: `Term`
      A shorter for bind(values).get(). We expose it mainly because for constants it can avoids allocating a temporary object between the bind and the get (note that we still want to be able to separate bind and get for collections).
      Specified by:
        `bindAndGet` in interface `Term`
      Overrides:
        `bindAndGet` in class `Term.NonTerminal`
      Throws:
        `InvalidRequestException`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### addFunctionsTo

          public void addFunctionsTo(java.util.List<Function> functions)

Copyright © 2018 The Apache Software Foundation