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
`Lists.DelayedValue(java.util.List<Term> elements)`

### Method Summary

Methods
`Lists.Value` `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.

### 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

#### Lists.DelayedValue

    public Lists.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 Lists.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`