|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.util.Node
public class Node
Represents an arbitrary tree node which can be used for structured metadata or any arbitrary XML-like tree.
A node can have a name, a value and an optional Map of attributes.
Typically the name is a String and a value is either a String or a List of other Nodes,
though the types are extensible to provide a flexible structure, e.g. you could use a
QName as the name which includes a namespace URI and a local name. Or a JMX ObjectName etc.
So this class can represent metadata like {foo a=1 b="abc"}
or nested
metadata like {foo a=1 b="123" { bar x=12 text="hello" }}
Field Summary | |
---|---|
private java.util.Map |
attributes
|
private java.lang.Object |
name
|
private Node |
parent
|
private static long |
serialVersionUID
|
private java.lang.Object |
value
|
Constructor Summary | |
---|---|
Node(Node parent,
java.lang.Object name)
|
|
Node(Node parent,
java.lang.Object name,
java.util.Map attributes)
|
|
Node(Node parent,
java.lang.Object name,
java.util.Map attributes,
java.lang.Object value)
|
|
Node(Node parent,
java.lang.Object name,
java.lang.Object value)
|
Method Summary | |
---|---|
boolean |
append(Node child)
|
Node |
appendNode(java.lang.Object name)
|
Node |
appendNode(java.lang.Object name,
java.util.Map attributes)
|
Node |
appendNode(java.lang.Object name,
java.util.Map attributes,
java.lang.Object value)
|
Node |
appendNode(java.lang.Object name,
java.lang.Object value)
|
java.lang.Object |
attribute(java.lang.Object key)
|
java.util.Map |
attributes()
|
java.util.List |
breadthFirst()
Provide a collection of all the nodes in the tree using a breadth-first traversal. |
private java.util.List |
breadthFirstRest()
|
java.util.List |
children()
|
java.util.List |
depthFirst()
Provide a collection of all the nodes in the tree using a depth first traversal. |
private java.util.List |
depthFirstRest()
|
java.lang.Object |
get(java.lang.String key)
Provides lookup of elements by non-namespaced name |
NodeList |
getAt(QName name)
Provides lookup of elements by QName. |
private NodeList |
getByName(java.lang.String name)
Provides lookup of elements by name. |
private java.util.List |
getDirectChildren()
|
private java.util.List |
getParentList(Node parent)
|
java.util.Iterator |
iterator()
|
java.lang.Object |
name()
|
Node |
parent()
|
void |
print(java.io.PrintWriter out)
|
boolean |
remove(Node child)
|
protected static void |
setMetaClass(MetaClass metaClass,
java.lang.Class nodeClass)
|
void |
setValue(java.lang.Object value)
|
java.lang.String |
text()
|
java.lang.String |
toString()
|
java.lang.Object |
value()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
private Node parent
private java.lang.Object name
private java.util.Map attributes
private java.lang.Object value
Constructor Detail |
---|
public Node(Node parent, java.lang.Object name)
public Node(Node parent, java.lang.Object name, java.lang.Object value)
public Node(Node parent, java.lang.Object name, java.util.Map attributes)
public Node(Node parent, java.lang.Object name, java.util.Map attributes, java.lang.Object value)
Method Detail |
---|
private java.util.List getParentList(Node parent)
public boolean append(Node child)
public boolean remove(Node child)
public Node appendNode(java.lang.Object name, java.util.Map attributes)
public Node appendNode(java.lang.Object name)
public Node appendNode(java.lang.Object name, java.lang.Object value)
public Node appendNode(java.lang.Object name, java.util.Map attributes, java.lang.Object value)
protected static void setMetaClass(MetaClass metaClass, java.lang.Class nodeClass)
public java.lang.String text()
public java.util.Iterator iterator()
public java.util.List children()
public java.util.Map attributes()
public java.lang.Object attribute(java.lang.Object key)
public java.lang.Object name()
public java.lang.Object value()
public void setValue(java.lang.Object value)
public Node parent()
public java.lang.Object get(java.lang.String key)
key
- the name (or shortcut key) of the node(s) of interest
public NodeList getAt(QName name)
name
- the QName of interest
private NodeList getByName(java.lang.String name)
name
- the name of interest
public java.util.List depthFirst()
private java.util.List depthFirstRest()
public java.util.List breadthFirst()
private java.util.List breadthFirstRest()
private java.util.List getDirectChildren()
public java.lang.String toString()
toString
in class java.lang.Object
public void print(java.io.PrintWriter out)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |