org.apache.cassandra.cql3

## Class Term.NonTerminal

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

- All Implemented Interfaces:
    Term
  Direct Known Subclasses:
    AbstractMarker, FunctionCall, Lists.DelayedValue, Maps.DelayedValue, Sets.DelayedValue, Tuples.DelayedValue, UserTypes.DelayedValue
  Enclosing interface:
    Term

      public abstract static class Term.NonTerminal
      extends java.lang.Object
      implements Term

  A non terminal term, i.e. a term that can only be reduce to a byte buffer at execution time. We have the following type of NonTerminal: - marker for a constant value - marker for a collection value (list, set, map) - a function having bind marker - a non pure function (even if it doesn't have bind marker - see #5616)

- - ### 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
    `NonTerminal()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.nio.ByteBuffer` | `bindAndGet(QueryOptions options)` A shorter for bind(values).get().

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

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

    - ### Methods inherited from interface org.apache.cassandra.cql3.Term

      `addFunctionsTo, bind, collectMarkerSpecification, containsBindMarker`

- - ### Constructor Detail

    - #### NonTerminal

          public NonTerminal()

  - ### Method Detail

    - #### 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`
      Throws:
        `InvalidRequestException`

Copyright © 2018 The Apache Software Foundation