Interface Term

    • Method Detail

      • collectMarkerSpecification

        void collectMarkerSpecification​(VariableSpecifications boundNames)
        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

        Term.Terminal bind​(QueryOptions options)
                    throws InvalidRequestException
        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

        java.nio.ByteBuffer bindAndGet​(QueryOptions options)
                                throws InvalidRequestException
        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).
        Throws:
        InvalidRequestException
      • containsBindMarker

        boolean containsBindMarker()
        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.
      • isTerminal

        default boolean isTerminal()
        Whether that term is terminal (this is a shortcut for this instanceof Term.Terminal).
      • addFunctionsTo

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