Lists.DelayedValue (apache-cassandra API)
Date: 2018-02-12

org.apache.cassandra.cql3

## Class Lists.DelayedValue

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

- All Implemented Interfaces:
    Term
  Enclosing class:
    Lists

      public static class Lists.DelayedValue
      extends Term.NonTerminal

  Basically similar to a Value, but with some non-pure function (that need to be evaluated at execution time) in it. Note: this would also work for a list with bind markers, but we don't support that because 1) it's not excessively useful and 2) we wouldn't have a good column name to return in the ColumnSpecification for those markers (not a blocker per-se but we don't bother due to 1)).

- - ### Nested Class Summary

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

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

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Term.Terminal` | `bind(QueryOptions options)` Bind the values in this term to the values contained in `values`.
    `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.Iterable<Function>` | `getFunctions()`

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

      `bindAndGet`

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

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

- - ### Constructor Detail

    - #### DelayedValue

          public DelayedValue(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 Term.Terminal 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`

    - #### getFunctions

          public java.lang.Iterable<Function> getFunctions()

Copyright © 2018 The Apache Software Foundation