|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
|
+--TopLevelClass.Default.Node
Provides a simple implementation of TopLevelClass.Node
.
Constructor Summary | |
TopLevelClass.Default.Node(List childNodes)
Constucts an instance. |
Method Summary | |
void |
accept(TopLevelClass.Visitor visitor)
Traverses the (sub-)tree whose root is this node.
|
List |
getChildNodes()
Returns the list of the child nodes of this .
|
TopLevelClass.Node |
getParentNode()
Returns the parent node of this , or null if this node is the root of the tree.
|
void |
replace(TopLevelClass.Node oldNode)
Replaces oldNode with this node.
|
protected void |
replaceChild(TopLevelClass.Node oldChild,
TopLevelClass.Node newChild)
Replaces the child node oldChild with newChild .
|
void |
setParentNode(TopLevelClass.Node parentNode)
Sets the result of TopLevelClass.Node.getParentNode() .
|
String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public TopLevelClass.Default.Node(List childNodes)
The returned list of getChildNodes()
is the childNodes
rather than a copy of it.
The parent node of childNodes
is set to this
by TopLevelClass.Node.setParentNode(TopLevelClass.Node)
.
The default value of getParentNode()
is null
.
childNodes
- a list of child nodes.Method Detail |
public List getChildNodes()
TopLevelClass.Node
this
.
For a Node created by the program generated by ¬<><∪∪, the list should be modifiable and the nodes should be ordered by its position in the parsed text. However, the nodes constructed by the users of ¬<><∪∪ are not required to satisfy it.
getChildNodes
in interface TopLevelClass.Node
this
.
public final void accept(TopLevelClass.Visitor visitor)
TopLevelClass.Node
this
node.
this
node is passed to the visitor
,
then the child nodes are traversed recursively (preorder traversal).
A node is passed to the methods of the visitor
, using reflection,
that is public, whose name is visit
,
that have only one argument whose type is compatible with this
node,
and that have no throws clause.
accept
in interface TopLevelClass.Node
visitor
- a visitor.
public TopLevelClass.Node getParentNode()
TopLevelClass.Node
this
, or null if this
node is the root of the tree.
This method simply returns the value the method TopLevelClass.Node.setParentNode(TopLevelClass.Node)
set, so the above specification should be maintained by the users of this
object.
getParentNode
in interface TopLevelClass.Node
this
, or null if and only if this
node is the root of the tree.
public void setParentNode(TopLevelClass.Node parentNode)
TopLevelClass.Node
TopLevelClass.Node.getParentNode()
.
setParentNode
in interface TopLevelClass.Node
parentNode
- the value TopLevelClass.Node.getParentNode()
returns.protected void replaceChild(TopLevelClass.Node oldChild, TopLevelClass.Node newChild)
oldChild
with newChild
.
This method calls newChild.setParentNode(this)
and oldChild.setParentNode(null)
,
and replaces oldChild
in getChildNodes()
with newChild
.
Also, this method replaces the values returned by TopLevelClass.Type.label()
.
oldChild
- a replaced child node.newChild
- a child node to replace oldChild
.
public void replace(TopLevelClass.Node oldNode)
throws IllegalStateException
oldNode
with this
node.
The method calls ((TopLevelClass.Default.Node) oldNode.getParentNode()).replaceChild(oldNode, this)
.
oldNode
- a node to replace.
IllegalStateException
- if oldNode.getParentNode() == null || !(oldNode.getParentNode() instanceof Default.Node)
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |