| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
 Node defines the polymorphic behavior for all XML nodes in a
 dom4j tree.
 
A node can be output as its XML format, can be detached from its position in a document and can have XPath expressions evaluated on itself.
A node may optionally support the parent relationship and may be read only.
supportsParent(), 
isReadOnly()| Field Summary | |
| static short | ANY_NODEMatches Element nodes | 
| static short | ATTRIBUTE_NODEMatches elements nodes | 
| static short | CDATA_SECTION_NODEMatches elements nodes | 
| static short | COMMENT_NODEMatches Comments nodes | 
| static short | DOCUMENT_NODEMatches Document nodes | 
| static short | DOCUMENT_TYPE_NODEMatches DocumentType nodes | 
| static short | ELEMENT_NODEMatches Element nodes | 
| static short | ENTITY_REFERENCE_NODEMatches elements nodes | 
| static short | MAX_NODE_TYPEThe maximum number of node types for sizing purposes | 
| static short | NAMESPACE_NODEMatchs a Namespace Node - NOTE this differs from DOM | 
| static short | PROCESSING_INSTRUCTION_NODEMatches ProcessingInstruction | 
| static short | TEXT_NODEMatches elements nodes | 
| static short | UNKNOWN_NODEDoes not match any valid node | 
| Method Summary | |
|  void | accept(Visitor visitor)acceptis the method used in the Visitor Pattern. | 
|  String | asXML()asXMLreturns the textual XML representation of this node. | 
|  Node | asXPathResult(Element parent)asXPathResultreturns a version of this node which is
 capable of being an XPath result. | 
|  Object | clone()clonewill return a deep clone or if this node is
 read-only then clone will return the same instance. | 
|  XPath | createXPath(String xpathExpression)createXPathcreates an XPath object for the given
 xpathExpression. | 
|  Node | detach()Removes this node from its parent if there is one. | 
|  Document | getDocument()getDocumentreturns theDocumentthat thisNodeis part of if this node supports the parent
 relationship. | 
|  String | getName()getNamereturns the name of this node. | 
|  short | getNodeType()Returns the code according to the type of node. | 
|  String | getNodeTypeName()DOCUMENT ME! | 
|  Element | getParent()getParentreturns the parentElementif
 this node supports the parent relationship or null if it is the root
 element or does not support the parent relationship. | 
|  String | getPath()Returns the XPath expression which will return a node set containing the given node such as /a/b/@c. | 
|  String | getPath(Element context)Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c. | 
|  String | getStringValue()Returns the XPath string-value of this node. | 
|  String | getText()Returns the text of this node. | 
|  String | getUniquePath()Returns the XPath expression which will return a nodeset of one node which is the current node. | 
|  String | getUniquePath(Element context)Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node. | 
|  boolean | hasContent()hasContentreturns true if this node is a Branch (either
 an Element or a Document) and it contains at least one content node such
 as a child Element or Text node. | 
|  boolean | isReadOnly()isReadOnlyreturns true if this node is read only and
 cannot be modified. | 
|  boolean | matches(String xpathExpression)matchesreturns true if evaluating the given XPath
 expression on this node returns a non-empty node set containing this
 node. | 
|  Number | numberValueOf(String xpathExpression)numberValueOfevaluates an XPath expression and returns
 the numeric value of the XPath expression if the XPath expression results
 in a number, or null if the result is not a number. | 
|  List | selectNodes(String xpathExpression)selectNodesevaluates an XPath expression and returns the
 result as aListofNodeinstances orStringinstances depending on the XPath expression. | 
|  List | selectNodes(String xpathExpression,
            String comparisonXPathExpression)selectNodesevaluates an XPath expression then sorts the
 results using a secondary XPath expression Returns a sortedListofNodeinstances. | 
|  List | selectNodes(String xpathExpression,
            String comparisonXPathExpression,
            boolean removeDuplicates)selectNodesevaluates an XPath expression then sorts the
 results using a secondary XPath expression Returns a sortedListofNodeinstances. | 
|  Object | selectObject(String xpathExpression)selectObjectevaluates an XPath expression and returns the
 result as anObject. | 
|  Node | selectSingleNode(String xpathExpression)selectSingleNodeevaluates an XPath expression and returns
 the result as a singleNodeinstance. | 
|  void | setDocument(Document document)setDocumentsets the document of this node if the parent
 relationship is supported or does nothing if the parent relationship is
 not supported. | 
|  void | setName(String name)Sets the text data of this node or this method will throw an UnsupportedOperationExceptionif it is read-only. | 
|  void | setParent(Element parent)setParentsets the parent relationship of this node if the
 parent relationship is supported or does nothing if the parent
 relationship is not supported. | 
|  void | setText(String text)Sets the text data of this node or this method will throw an UnsupportedOperationExceptionif it is read-only. | 
|  boolean | supportsParent()supportsParentreturns true if this node supports the
 parent relationship. | 
|  String | valueOf(String xpathExpression)valueOfevaluates an XPath expression and returns the
 textual representation of the results the XPath string-value of this
 node. | 
|  void | write(Writer writer)writewrites this node as the default XML notation for
 this node. | 
| Field Detail | 
public static final short ANY_NODE
public static final short ELEMENT_NODE
public static final short ATTRIBUTE_NODE
public static final short TEXT_NODE
public static final short CDATA_SECTION_NODE
public static final short ENTITY_REFERENCE_NODE
public static final short PROCESSING_INSTRUCTION_NODE
public static final short COMMENT_NODE
public static final short DOCUMENT_NODE
public static final short DOCUMENT_TYPE_NODE
public static final short NAMESPACE_NODE
public static final short UNKNOWN_NODE
public static final short MAX_NODE_TYPE
| Method Detail | 
public boolean supportsParent()
 supportsParent returns true if this node supports the
 parent relationship.
 
Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.
public Element getParent()
 getParent returns the parent Element if
 this node supports the parent relationship or null if it is the root
 element or does not support the parent relationship.
 
 This method is an optional feature and may not be supported for all
 Node implementations.
 
public void setParent(Element parent)
 setParent sets the parent relationship of this node if the
 parent relationship is supported or does nothing if the parent
 relationship is not supported.
 
 This method should only be called from inside an Element
 implementation method and is not intended for general use.
 
parent - is the new parent of this node.public Document getDocument()
 getDocument returns the Document that this
 Node is part of if this node supports the parent
 relationship.
 
 This method is an optional feature and may not be supported for all
 Node implementations.
 
Documentpublic void setDocument(Document document)
 setDocument sets the document of this node if the parent
 relationship is supported or does nothing if the parent relationship is
 not supported.
 
 This method should only be called from inside a Document
 implementation method and is not intended for general use.
 
document - is the new document of this node.public boolean isReadOnly()
 isReadOnly returns true if this node is read only and
 cannot be modified. Any attempt to modify a read-only Node
 will result in an UnsupportedOperationException being
 thrown.
 
Node is read only and cannot be
         modified otherwise false.public boolean hasContent()
 hasContent returns true if this node is a Branch (either
 an Element or a Document) and it contains at least one content node such
 as a child Element or Text node.
 
Node is a Branch with a nodeCount()
         of one or more.public String getName()
 getName returns the name of this node. This is the XML
 local name of the element, attribute, entity or processing instruction.
 For CDATA and Text nodes this method will return null.
 
public void setName(String name)
 Sets the text data of this node or this method will throw an
 UnsupportedOperationException if it is read-only.
 
name - is the new name of this nodepublic String getText()
Returns the text of this node.
public void setText(String text)
 Sets the text data of this node or this method will throw an
 UnsupportedOperationException if it is read-only.
 
text - is the new textual value of this nodepublic String getStringValue()
public String getPath()
Returns the XPath expression which will return a node set containing the given node such as /a/b/@c. No indexing will be used to restrict the path if multiple elements with the same name occur on the path.
public String getPath(Element context)
context - is the parent context from which the relative path should
            start. If the context is null or the context is not an
            ancestor of this node then the path will be absolute and start
            from the document and so begin with the '/' character.
public String getUniquePath()
Returns the XPath expression which will return a nodeset of one node which is the current node. This method will use the XPath index operator to restrict the path if multiple elements with the same name occur on the path.
public String getUniquePath(Element context)
Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node. This method will use the XPath index operator to restrict the path if multiple elements with the same name occur on the path.
context - is the parent context from which the path should start. If the
            context is null or the context is not an ancestor of this node
            then the path will start from the document and so begin with
            the '/' character.
public String asXML()
 asXML returns the textual XML representation of this node.
 
public void write(Writer writer)
           throws IOException
 write writes this node as the default XML notation for
 this node. If you wish to control the XML output (such as for pretty
 printing, changing the indentation policy etc.) then please use XMLWriter or its derivations.
 
writer - is the Writer to output the XML to
IOException - DOCUMENT ME!public short getNodeType()
public String getNodeTypeName()
public Node detach()
Removes this node from its parent if there is one. If this node is the root element of a document then it is removed from the document as well.
This method is useful if you want to remove a node from its source document and add it to another document. For example
 Node node = ...; Element someOtherElement = ...;
 someOtherElement.add( node.detach() ); 
public List selectNodes(String xpathExpression)
 selectNodes evaluates an XPath expression and returns the
 result as a List of Node instances or
 String instances depending on the XPath expression.
 
xpathExpression - is the XPath expression to be evaluated
Node or String
         instances depending on the XPath expressionpublic Object selectObject(String xpathExpression)
 selectObject evaluates an XPath expression and returns the
 result as an Object. The object returned can either be a List of one or more Nodeinstances or a scalar object like a
 Stringor a Numberinstance depending on the XPath
 expression.
 
xpathExpression - is the XPath expression to be evaluated
Listof Node instances, a Stringor a Numberinstance
         depending on the XPath expression.
public List selectNodes(String xpathExpression,
                        String comparisonXPathExpression)
 selectNodes evaluates an XPath expression then sorts the
 results using a secondary XPath expression Returns a sorted
 List of Node instances.
 
xpathExpression - is the XPath expression to be evaluatedcomparisonXPathExpression - is the XPath expression used to compare the results by for
            sorting
Node instances sorted by the
         comparisonXPathExpression
public List selectNodes(String xpathExpression,
                        String comparisonXPathExpression,
                        boolean removeDuplicates)
 selectNodes evaluates an XPath expression then sorts the
 results using a secondary XPath expression Returns a sorted
 List of Node instances.
 
xpathExpression - is the XPath expression to be evaluatedcomparisonXPathExpression - is the XPath expression used to compare the results by for
            sortingremoveDuplicates - if this parameter is true then duplicate values (using the
            comparisonXPathExpression) are removed from the result List.
Node instances sorted by the
         comparisonXPathExpressionpublic Node selectSingleNode(String xpathExpression)
 selectSingleNode evaluates an XPath expression and returns
 the result as a single Node instance.
 
xpathExpression - is the XPath expression to be evaluated
Node matching the XPath expressionpublic String valueOf(String xpathExpression)
 valueOf evaluates an XPath expression and returns the
 textual representation of the results the XPath string-value of this
 node. The string-value for a given node type is defined in the XPath specification .
 
xpathExpression - is the XPath expression to be evaluated
public Number numberValueOf(String xpathExpression)
 numberValueOf evaluates an XPath expression and returns
 the numeric value of the XPath expression if the XPath expression results
 in a number, or null if the result is not a number.
 
xpathExpression - is the XPath expression to be evaluated
public boolean matches(String xpathExpression)
 matches returns true if evaluating the given XPath
 expression on this node returns a non-empty node set containing this
 node.
 
This method does not behave like the <xsl:if> element - if you want that behaviour, to evaluate if an XPath expression matches something, then you can use the following code to be equivalent...
if ( node.selectSingleNode( "/some/path" ) != nulll )
xpathExpression - is an XPath expression
public XPath createXPath(String xpathExpression)
                  throws InvalidXPathException
 createXPath creates an XPath object for the given
 xpathExpression. The XPath object allows the variable context to be
 specified.
 
xpathExpression - is the XPath expression to be evaluated
InvalidXPathException - if the XPath expression is invalidpublic Node asXPathResult(Element parent)
 asXPathResult returns a version of this node which is
 capable of being an XPath result. The result of an XPath expression
 should always support the parent relationship, whether the original XML
 tree was singly or doubly linked. If the node does not support the parent
 relationship then a new node will be created which is linked to its
 parent and returned.
 
parent - DOCUMENT ME!
Node which supports the parent relationshippublic void accept(Visitor visitor)
 accept is the method used in the Visitor Pattern.
 
visitor - is the visitor in the Visitor Patternpublic Object clone()
 clone will return a deep clone or if this node is
 read-only then clone will return the same instance.
 
| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||