Class CorrelatedVariable

java.lang.Object
com.mckoi.database.CorrelatedVariable
All Implemented Interfaces:
Serializable, Cloneable

public class CorrelatedVariable extends Object implements Cloneable, 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:
  • Constructor Details

    • CorrelatedVariable

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

    • 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 Object clone() throws CloneNotSupportedException
      Clones the object.
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • toString

      public String toString()
      Overrides:
      toString in class Object