com.metamatrix.query.optimizer.relational.plantree
Class PlanNode

java.lang.Object
  extended by com.metamatrix.query.optimizer.relational.plantree.PlanNode

public class PlanNode
extends java.lang.Object


Constructor Summary
PlanNode()
           
 
Method Summary
 void addAsParent(PlanNode node)
          Add the node as this node's parent.
 void addChildren(java.util.Collection<PlanNode> otherChildren)
           
 void addFirstChild(PlanNode child)
           
 void addGroup(GroupSymbol groupID)
           
 void addGroups(java.util.Collection<GroupSymbol> newGroups)
           
 void addLastChild(PlanNode child)
           
 int getChildCount()
           
 java.util.List<PlanNode> getChildren()
           
 java.util.Set<ElementSymbol> getCorrelatedReferenceElements()
           
 java.util.List<SymbolMap> getCorrelatedReferences()
           
 PlanNode getFirstChild()
           
 java.util.Set<GroupSymbol> getGroups()
           
 PlanNode getLastChild()
           
 PlanNode getParent()
           
 java.lang.Object getProperty(NodeConstants.Info propertyID)
           
 java.util.List<SubqueryContainer> getSubqueryContainers()
           
 int getType()
           
 boolean hasBooleanProperty(NodeConstants.Info propertyKey)
           
 boolean hasCollectionProperty(NodeConstants.Info propertyID)
          Indicates if there is a non-null and non-empty Collection value for the property key or not
 boolean hasProperty(NodeConstants.Info propertyID)
          Indicates if there is a non-null value for the property key or not
 java.lang.String nodeToString()
          Just print single node to string instead of node+recursive plan.
 java.util.List<PlanNode> removeAllChildren()
           
 boolean removeChild(PlanNode child)
           
 PlanNode removeFromParent()
           
 java.lang.Object removeProperty(java.lang.Object propertyID)
           
 void replaceChild(PlanNode child, PlanNode replacement)
           
 void setProperty(NodeConstants.Info propertyID, java.lang.Object value)
           
 void setType(int type)
           
 java.lang.String toString()
          Print plantree structure starting at this node
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PlanNode

public PlanNode()
Method Detail

getType

public int getType()

setType

public void setType(int type)

getParent

public PlanNode getParent()

getChildren

public java.util.List<PlanNode> getChildren()

removeAllChildren

public java.util.List<PlanNode> removeAllChildren()

getChildCount

public int getChildCount()

getFirstChild

public PlanNode getFirstChild()

getLastChild

public PlanNode getLastChild()

addFirstChild

public void addFirstChild(PlanNode child)

addLastChild

public void addLastChild(PlanNode child)

addChildren

public void addChildren(java.util.Collection<PlanNode> otherChildren)

removeFromParent

public PlanNode removeFromParent()

removeChild

public boolean removeChild(PlanNode child)

getProperty

public java.lang.Object getProperty(NodeConstants.Info propertyID)

setProperty

public void setProperty(NodeConstants.Info propertyID,
                        java.lang.Object value)

removeProperty

public java.lang.Object removeProperty(java.lang.Object propertyID)

hasProperty

public boolean hasProperty(NodeConstants.Info propertyID)
Indicates if there is a non-null value for the property key or not

Parameters:
propertyID - one of the properties from NodeConstants
Returns:
whether this node has a non-null value for that property

hasCollectionProperty

public boolean hasCollectionProperty(NodeConstants.Info propertyID)
Indicates if there is a non-null and non-empty Collection value for the property key or not

Parameters:
propertyID - one of the properties from NodeConstants which is known to be a Collection object of some sort
Returns:
whether this node has a non-null and non-empty Collection value for that property

addGroup

public void addGroup(GroupSymbol groupID)

addGroups

public void addGroups(java.util.Collection<GroupSymbol> newGroups)

getGroups

public java.util.Set<GroupSymbol> getGroups()

toString

public java.lang.String toString()
Print plantree structure starting at this node

Overrides:
toString in class java.lang.Object
Returns:
String representing this node and all children under this node

nodeToString

public java.lang.String nodeToString()
Just print single node to string instead of node+recursive plan.

Returns:
String representing just this node

hasBooleanProperty

public boolean hasBooleanProperty(NodeConstants.Info propertyKey)

replaceChild

public void replaceChild(PlanNode child,
                         PlanNode replacement)

addAsParent

public void addAsParent(PlanNode node)
Add the node as this node's parent. NOTE: This node must already have a parent.

Parameters:
node -

getCorrelatedReferences

public java.util.List<SymbolMap> getCorrelatedReferences()

getCorrelatedReferenceElements

public java.util.Set<ElementSymbol> getCorrelatedReferenceElements()

getSubqueryContainers

public java.util.List<SubqueryContainer> getSubqueryContainers()


Copyright © 2009. All Rights Reserved.