Class CorrelatedVariable

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class CorrelatedVariable
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    A wrapper for a variable in a sub-query that references a column outside of the current query. A correlated variable differs from a regular variable because its value is constant in an operation, but may vary over future iterations of the operation.

    This object is NOT immutable.

    Author:
    Tobias Downer
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      CorrelatedVariable​(Variable variable, int level_offset)
      Constructs the CorrelatedVariable.
    • Constructor Detail

      • CorrelatedVariable

        public CorrelatedVariable​(Variable variable,
                                  int level_offset)
        Constructs the CorrelatedVariable.
    • Method Detail

      • getVariable

        public Variable getVariable()
        Returns the wrapped Variable.
      • getQueryLevelOffset

        public int getQueryLevelOffset()
        Returns the number of sub-query branches back that the reference for this variable can be found. For example, if the correlated variable references the direct descendant this will return 1.
      • setEvalResult

        public void setEvalResult​(TObject ob)
        Sets the value this correlated variable evaluates to.
      • setFromResolver

        public void setFromResolver​(VariableResolver resolver)
        Given a VariableResolver this will set the value of the correlated variable.
      • getEvalResult

        public TObject getEvalResult()
        Returns the value this correlated variable evaluates to.
      • returnTType

        public TType returnTType()
        Returns the TType this correlated variable evaluates to.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Clones the object.
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object