com.mckoi.database
Class CorrelatedVariable

java.lang.Object
  extended by com.mckoi.database.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
CorrelatedVariable(Variable variable, int level_offset)
          Constructs the CorrelatedVariable.
 
Method Summary
 java.lang.Object clone()
          Clones the object.
 TObject getEvalResult()
          Returns the value this correlated variable evaluates to.
 int getQueryLevelOffset()
          Returns the number of sub-query branches back that the reference for this variable can be found.
 Variable getVariable()
          Returns the wrapped Variable.
 TType returnTType()
          Returns the TType this correlated variable evaluates to.
 void setEvalResult(TObject ob)
          Sets the value this correlated variable evaluates to.
 void setFromResolver(VariableResolver resolver)
          Given a VariableResolver this will set the value of the correlated variable.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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