Groovy 1.7.0

groovy.util
Class Node

java.lang.Object
  groovy.util.Node
All Implemented Interfaces:
Serializable

class Node
extends Object

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" }}

author:
James Strachan
author:
Paul King
version:
$Revision: 16650 $


Constructor Summary
Node(Node parent, Object name)

Node(Node parent, Object name, Object value)

Node(Node parent, Object name, Map attributes)

Node(Node parent, Object name, Map attributes, Object value)

 
Method Summary
boolean append(Node child)

Node appendNode(Object name, Map attributes)

Node appendNode(Object name)

Node appendNode(Object name, Object value)

Node appendNode(Object name, Map attributes, Object value)

Object attribute(Object key)

Map attributes()

List breadthFirst()

Provide a collection of all the nodes in the tree using a breadth-first traversal.

List children()

List depthFirst()

Provide a collection of all the nodes in the tree using a depth first traversal.

Object get(String key)

Provides lookup of elements by non-namespaced name

NodeList getAt(QName name)

Provides lookup of elements by QName.

Iterator iterator()

Object name()

Node parent()

void print(PrintWriter out)

boolean remove(Node child)

protected static void setMetaClass(MetaClass metaClass, Class nodeClass)

void setValue(Object value)

String text()

String toString()

Object value()

 
Methods inherited from class Object
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
 

Constructor Detail

Node

public Node(Node parent, Object name)


Node

public Node(Node parent, Object name, Object value)


Node

public Node(Node parent, Object name, Map attributes)


Node

public Node(Node parent, Object name, Map attributes, Object value)


 
Method Detail

append

public boolean append(Node child)


appendNode

public Node appendNode(Object name, Map attributes)


appendNode

public Node appendNode(Object name)


appendNode

public Node appendNode(Object name, Object value)


appendNode

public Node appendNode(Object name, Map attributes, Object value)


attribute

public Object attribute(Object key)


attributes

public Map attributes()


breadthFirst

public List breadthFirst()
Provide a collection of all the nodes in the tree using a breadth-first traversal.
return:
the list of (breadth-first) ordered nodes


children

public List children()


depthFirst

public List depthFirst()
Provide a collection of all the nodes in the tree using a depth first traversal.
return:
the list of (depth-first) ordered nodes


get

public Object get(String key)
Provides lookup of elements by non-namespaced name
param:
key the name (or shortcut key) of the node(s) of interest
return:
the nodes which match key


getAt

public NodeList getAt(QName name)
Provides lookup of elements by QName.
param:
name the QName of interest
return:
the nodes matching name


iterator

public Iterator iterator()


name

public Object name()


parent

public Node parent()


print

public void print(PrintWriter out)


remove

public boolean remove(Node child)


setMetaClass

protected static void setMetaClass(MetaClass metaClass, Class nodeClass)


setValue

public void setValue(Object value)


text

public String text()


toString

public String toString()


value

public Object value()


 

Copyright © 2003-2009 The Codehaus. All rights reserved.