com.mckoi.database
Class QueryPlan.BranchQueryPlanNode

java.lang.Object
  extended by com.mckoi.database.QueryPlan.BranchQueryPlanNode
All Implemented Interfaces:
QueryPlanNode, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
QueryPlan.CompositeNode, QueryPlan.EquiJoinNode, QueryPlan.JoinNode, QueryPlan.LogicalUnionNode, QueryPlan.NaturalJoinNode, QueryPlan.NonCorrelatedAnyAllNode
Enclosing class:
QueryPlan

public abstract static class QueryPlan.BranchQueryPlanNode
extends java.lang.Object
implements QueryPlanNode

A QueryPlanNode that is a branch with two child nodes.

See Also:
Serialized Form

Field Summary
protected  QueryPlanNode left
          The left and right node.
protected  QueryPlanNode right
          The left and right node.
 
Constructor Summary
protected QueryPlan.BranchQueryPlanNode(QueryPlanNode left, QueryPlanNode right)
          The Constructor.
 
Method Summary
 java.lang.Object clone()
          Deep clone.
 void debugString(int level, java.lang.StringBuffer buf)
          Writes a textural representation of the node to the StringBuffer at the given indent level.
 java.util.ArrayList discoverCorrelatedVariables(int level, java.util.ArrayList list)
          Default implementation that discovers correlated variables for the given offset level.
 java.util.ArrayList discoverTableNames(java.util.ArrayList list)
          Default implementation delegates responsibility to children.
 QueryPlanNode left()
          Returns the left node.
 QueryPlanNode right()
          Returns the right node.
 java.lang.String titleString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.mckoi.database.QueryPlanNode
evaluate
 

Field Detail

left

protected QueryPlanNode left
The left and right node.


right

protected QueryPlanNode right
The left and right node.

Constructor Detail

QueryPlan.BranchQueryPlanNode

protected QueryPlan.BranchQueryPlanNode(QueryPlanNode left,
                                        QueryPlanNode right)
The Constructor.

Method Detail

left

public QueryPlanNode left()
Returns the left node.


right

public QueryPlanNode right()
Returns the right node.


discoverTableNames

public java.util.ArrayList discoverTableNames(java.util.ArrayList list)
Default implementation delegates responsibility to children.

Specified by:
discoverTableNames in interface QueryPlanNode

discoverCorrelatedVariables

public java.util.ArrayList discoverCorrelatedVariables(int level,
                                                       java.util.ArrayList list)
Default implementation that discovers correlated variables for the given offset level.

Specified by:
discoverCorrelatedVariables in interface QueryPlanNode

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Deep clone.

Specified by:
clone in interface QueryPlanNode
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

titleString

public java.lang.String titleString()

debugString

public void debugString(int level,
                        java.lang.StringBuffer buf)
Description copied from interface: QueryPlanNode
Writes a textural representation of the node to the StringBuffer at the given indent level.

Specified by:
debugString in interface QueryPlanNode