com.espertech.esper.epl.join.assemble
Class BaseAssemblyNodeFactory

java.lang.Object
  extended by com.espertech.esper.epl.join.assemble.BaseAssemblyNodeFactory
Direct Known Subclasses:
BranchOptionalAssemblyNodeFactory, BranchRequiredAssemblyNodeFactory, CartesianProdAssemblyNodeFactory, LeafAssemblyNodeFactory, RootCartProdAssemblyNodeFactory, RootOptionalAssemblyNodeFactory, RootRequiredAssemblyNodeFactory

public abstract class BaseAssemblyNodeFactory
extends java.lang.Object

Represents the factory of a node in a tree responsible for assembling outer join query results.

The tree of factory nodes is double-linked, child nodes know each parent and parent know all child nodes.


Field Summary
protected  java.util.List<BaseAssemblyNodeFactory> childNodes
          Child nodes.
protected  int numStreams
          Number of streams in statement.
protected  BaseAssemblyNodeFactory parentNode
          Parent node.
protected  int streamNum
          Stream number.
 
Constructor Summary
protected BaseAssemblyNodeFactory(int streamNum, int numStreams)
          Ctor.
 
Method Summary
 void addChild(BaseAssemblyNodeFactory childNode)
          Add a child node.
 java.util.List<BaseAssemblyNodeFactory> getChildNodes()
          Returns child nodes.
static java.util.List<BaseAssemblyNodeFactory> getDescendentNodesBottomUp(BaseAssemblyNodeFactory topNode)
          Returns all descendent nodes to the top node in a list in which the utmost descendants are listed first and the top node itself is listed last.
 BaseAssemblyNodeFactory getParentNode()
           
protected  int getStreamNum()
          Returns the stream number.
abstract  BaseAssemblyNode makeAssemblerUnassociated()
           
abstract  void print(IndentWriter indentWriter)
          Output this node using writer, not outputting child nodes.
 void printDescendends(IndentWriter indentWriter)
          Output this node and all descendent nodes using writer, outputting child nodes.
 void setParent(BaseAssemblyNodeFactory parent)
          Set parent node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parentNode

protected BaseAssemblyNodeFactory parentNode
Parent node.


childNodes

protected final java.util.List<BaseAssemblyNodeFactory> childNodes
Child nodes.


streamNum

protected final int streamNum
Stream number.


numStreams

protected final int numStreams
Number of streams in statement.

Constructor Detail

BaseAssemblyNodeFactory

protected BaseAssemblyNodeFactory(int streamNum,
                                  int numStreams)
Ctor.

Parameters:
streamNum - - stream number of the event stream that this node assembles results for.
numStreams - - number of streams
Method Detail

makeAssemblerUnassociated

public abstract BaseAssemblyNode makeAssemblerUnassociated()

print

public abstract void print(IndentWriter indentWriter)
Output this node using writer, not outputting child nodes.

Parameters:
indentWriter - to use for output

setParent

public void setParent(BaseAssemblyNodeFactory parent)
Set parent node.


getParentNode

public BaseAssemblyNodeFactory getParentNode()

addChild

public void addChild(BaseAssemblyNodeFactory childNode)
Add a child node.

Parameters:
childNode - to add

getStreamNum

protected int getStreamNum()
Returns the stream number.

Returns:
stream number

getChildNodes

public java.util.List<BaseAssemblyNodeFactory> getChildNodes()
Returns child nodes.

Returns:
child nodes

printDescendends

public void printDescendends(IndentWriter indentWriter)
Output this node and all descendent nodes using writer, outputting child nodes.

Parameters:
indentWriter - to output to

getDescendentNodesBottomUp

public static java.util.List<BaseAssemblyNodeFactory> getDescendentNodesBottomUp(BaseAssemblyNodeFactory topNode)
Returns all descendent nodes to the top node in a list in which the utmost descendants are listed first and the top node itself is listed last.

Parameters:
topNode - is the root node of a tree structure
Returns:
list of nodes with utmost descendants first ordered by level of depth in tree with top node last

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com