public abstract class BaseAssemblyNodeFactory extends Object
The tree of factory nodes is double-linked, child nodes know each parent and parent know all child nodes.
Modifier and Type | Field and Description |
---|---|
protected List<BaseAssemblyNodeFactory> |
childNodes
Child nodes.
|
protected int |
numStreams
Number of streams in statement.
|
protected BaseAssemblyNodeFactory |
parentNode
Parent node.
|
protected int |
streamNum
Stream number.
|
Modifier | Constructor and Description |
---|---|
protected |
BaseAssemblyNodeFactory(int streamNum,
int numStreams)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
addChild(BaseAssemblyNodeFactory childNode)
Add a child node.
|
List<BaseAssemblyNodeFactory> |
getChildNodes()
Returns child nodes.
|
static 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.
|
protected BaseAssemblyNodeFactory parentNode
protected final List<BaseAssemblyNodeFactory> childNodes
protected final int streamNum
protected final int numStreams
protected BaseAssemblyNodeFactory(int streamNum, int numStreams)
streamNum
- - stream number of the event stream that this node assembles results for.numStreams
- - number of streamspublic abstract BaseAssemblyNode makeAssemblerUnassociated()
public abstract void print(IndentWriter indentWriter)
indentWriter
- to use for outputpublic void setParent(BaseAssemblyNodeFactory parent)
parent
- parent nodepublic BaseAssemblyNodeFactory getParentNode()
public void addChild(BaseAssemblyNodeFactory childNode)
childNode
- to addprotected int getStreamNum()
public List<BaseAssemblyNodeFactory> getChildNodes()
public void printDescendends(IndentWriter indentWriter)
indentWriter
- to output topublic static List<BaseAssemblyNodeFactory> getDescendentNodesBottomUp(BaseAssemblyNodeFactory topNode)
topNode
- is the root node of a tree structure