|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object
|
+--TopLevelClass.Default.Node
TopLevelClass.Node
の簡単な実装を提供します。
コンストラクタの概要 | |
TopLevelClass.Default.Node(List childNodes)
インスタンスを構築します。 |
メソッドの概要 | |
void |
accept(TopLevelClass.Visitor visitor)
Traverses the (sub-)tree whose root is this node.
|
List |
getChildNodes()
子のノードのリストを返します。 |
TopLevelClass.Node |
getParentNode()
親のノードを返します。 |
void |
replace(TopLevelClass.Node oldNode)
oldNode を、このノードで置き換えます。
|
protected void |
replaceChild(TopLevelClass.Node oldChild,
TopLevelClass.Node newChild)
子のノード oldChild を newChild で置き換えます。
|
void |
setParentNode(TopLevelClass.Node parentNode)
TopLevelClass.Node.getParentNode() の戻り値を設定します。
|
String |
toString()
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public TopLevelClass.Default.Node(List childNodes)
childNodes
は、getChildNodes()
の戻り値として、そのまま使われます。
childNodes
の親のノードは、TopLevelClass.Node.setParentNode(TopLevelClass.Node)
を用いてこのノードに設定されます。
getParentNode()
のデフォルトの戻り値は null
です。
childNodes
- 子のノードのリスト。メソッドの詳細 |
public List getChildNodes()
TopLevelClass.Node
の記述: ¬<><∪∪が出力するコードによって作られる Node 型のオブジェクトでは、リストは変更可能で、リストの要素は構文解析対象のテキストに出現した順番に並びます。しかし、ユーザが構築したノードがこの条件を満たす必要はありません。
TopLevelClass.Node
内の getChildNodes
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.
TopLevelClass.Node
内の accept
visitor
- a visitor.
public TopLevelClass.Node getParentNode()
TopLevelClass.Node
の記述:
このメソッドは、単純に TopLevelClass.Node.setParentNode(TopLevelClass.Node)
で与えられた値を返します。構文木を編集する場合、ユーザは、このメソッドが親ノードを返すように適切に TopLevelClass.Node.setParentNode(TopLevelClass.Node)
を呼び出さなければなりません。
TopLevelClass.Node
内の getParentNode
null
。そうでない場合、親のノード。
public void setParentNode(TopLevelClass.Node parentNode)
TopLevelClass.Node
の記述: TopLevelClass.Node.getParentNode()
の戻り値を設定します。
TopLevelClass.Node
内の setParentNode
parentNode
- 次回以降の TopLevelClass.Node.getParentNode()
の戻り値protected void replaceChild(TopLevelClass.Node oldChild, TopLevelClass.Node newChild)
oldChild
を newChild
で置き換えます。
このメソッドは、newChild.setParentNode(this)
と oldChild.setParentNode(null)
を呼び出し、
getChildNodes()
の中の oldChild
を newChild
で置き換えます。
また、TopLevelClass.Type.label()
によって返されるノードも置き換えます。
oldChild
- 交換される子。newChild
- oldChild
を置き換える新しい子。
public void replace(TopLevelClass.Node oldNode)
throws IllegalStateException
oldNode
を、このノードで置き換えます。
このメソッドは、((TopLevelClass.Default.Node) oldNode.getParentNode()).replaceChild(oldNode, this)
を呼び出します。
oldNode
- 交換される子。
IllegalStateException
- oldNode.getParentNode() == null || !(oldNode.getParentNode() instanceof Default.Node)
の場合public String toString()
Object
内の toString
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |