|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.dom4j.tree.AbstractNode
AbstractNode is an abstract base class for
tree implementors to use for implementation inheritence.
| Field Summary | |
protected static java.lang.String[] |
NODE_TYPE_NAMES
|
| Fields inherited from interface org.dom4j.Node |
ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE |
| Constructor Summary | |
AbstractNode()
|
|
| Method Summary | |
Node |
asXPathResult(Element parent)
asXPathResult returns a version of this node which is
capable of being an XPath result. |
java.lang.Object |
clone()
clone will return a deep clone or if this node is
read-only then clone will return the same instance. |
Pattern |
createPattern(java.lang.String patternText)
|
XPath |
createXPath(java.lang.String xpathExpression)
createXPath creates an XPath object for
the given xpathExpression. |
NodeFilter |
createXPathFilter(java.lang.String patternText)
|
protected Node |
createXPathResult(Element parent)
|
Node |
detach()
Removes this node from its parent if there is one. |
Document |
getDocument()
getDocument returns the Document
that this Node is part of if this node supports
the parent relationship. |
protected DocumentFactory |
getDocumentFactory()
|
java.lang.String |
getName()
getName returns the name of this node. |
short |
getNodeType()
Returns the code according to the type of node. |
java.lang.String |
getNodeTypeName()
|
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. |
java.lang.String |
getPath()
Returns the XPath expression which will return a node set containing the given node such as /a/b/@c. |
java.lang.String |
getStringValue()
Returns the XPath string-value of this node. |
java.lang.String |
getText()
Returns the text of this node. |
java.lang.String |
getUniquePath()
Returns the XPath expression which will return a nodeset of one node which is the current node. |
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. |
boolean |
isReadOnly()
isReadOnly returns true if this node is read only
and cannot be modified. |
boolean |
matches(java.lang.String patternText)
matches returns true if evaluating the given
XPath expression on this node returns a non-empty node set containing this node. |
java.lang.Number |
numberValueOf(java.lang.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. |
java.util.List |
selectNodes(java.lang.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. |
java.util.List |
selectNodes(java.lang.String xpathExpression,
java.lang.String comparisonXPathExpression)
selectNodes evaluates an XPath expression then
sorts the results using a secondary XPath expression
Returns a sorted List of Node instances. |
java.util.List |
selectNodes(java.lang.String xpathExpression,
java.lang.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. |
java.lang.Object |
selectObject(java.lang.String xpathExpression)
selectObject evaluates an XPath expression and returns
the result as an Object. |
Node |
selectSingleNode(java.lang.String xpathExpression)
selectSingleNode evaluates an XPath expression
and returns the result as a single Node instance. |
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. |
void |
setName(java.lang.String name)
Sets the text data of this node or this method will throw an UnsupportedOperationException if it is
read-only. |
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. |
void |
setText(java.lang.String text)
Sets the text data of this node or this method will throw an UnsupportedOperationException if it is
read-only. |
boolean |
supportsParent()
supportsParent returns true if this node supports the
parent relationship. |
java.lang.String |
valueOf(java.lang.String xpathExpression)
valueOf evaluates an XPath expression
and returns the textual representation of the results the XPath
string-value of this node. |
void |
write(java.io.Writer writer)
write writes this node as the default XML
notation for this node. |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.dom4j.Node |
accept, asXML, getPath, getUniquePath |
| Field Detail |
protected static final java.lang.String[] NODE_TYPE_NAMES
| Constructor Detail |
public AbstractNode()
| Method Detail |
public short getNodeType()
Node
getNodeType in interface Nodepublic java.lang.String getNodeTypeName()
getNodeTypeName in interface Nodepublic Document getDocument()
NodegetDocument 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.
getDocument in interface NodeDocumentpublic void setDocument(Document document)
NodesetDocument 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.
setDocument in interface Nodedocument - is the new document of this node.public Element getParent()
NodegetParent 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.
getParent in interface Nodepublic void setParent(Element parent)
NodesetParent 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.
setParent in interface Nodeparent - is the new parent of this node.public boolean supportsParent()
NodesupportsParent 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.
supportsParent in interface Nodepublic boolean isReadOnly()
NodeisReadOnly 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.
isReadOnly in interface NodeNode is read only
and cannot be modified otherwise false.public boolean hasContent()
NodehasContent 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.
hasContent in interface NodeNode is a Branch
with a nodeCount() of one or more.public java.lang.String getPath()
NodeReturns 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.
getPath in interface Nodepublic java.lang.String getUniquePath()
NodeReturns 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.
getUniquePath in interface Nodepublic java.lang.Object clone()
Nodeclone will return a deep clone or if this node is
read-only then clone will return the same instance.
clone in interface Nodepublic Node detach()
NodeRemoves 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() );
detach in interface Nodepublic java.lang.String getName()
NodegetName 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.
getName in interface Nodepublic void setName(java.lang.String name)
NodeSets the text data of this node or this method will
throw an UnsupportedOperationException if it is
read-only.
setName in interface Nodename - is the new name of this nodepublic java.lang.String getText()
NodeReturns the text of this node.
getText in interface Nodepublic java.lang.String getStringValue()
Node
getStringValue in interface Nodepublic void setText(java.lang.String text)
NodeSets the text data of this node or this method will
throw an UnsupportedOperationException if it is
read-only.
setText in interface Nodetext - is the new textual value of this node
public void write(java.io.Writer writer)
throws java.io.IOException
Nodewrite 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.
write in interface Nodewriter - is the Writer to output the XML to
java.io.IOExceptionpublic java.lang.Object selectObject(java.lang.String xpathExpression)
NodeselectObject evaluates an XPath expression and returns
the result as an Object. The object returned can
either be a List of one or more Node instances
or a scalar object like a String or a Number
instance depending on the XPath expression.
selectObject in interface NodexpathExpression - is the XPath expression to be evaluated
List of Node instances, a String or
a Number instance depending on the XPath expression.public java.util.List selectNodes(java.lang.String xpathExpression)
NodeselectNodes evaluates an XPath expression and returns
the result as a List of Node instances or
String instances depending on the XPath expression.
selectNodes in interface NodexpathExpression - is the XPath expression to be evaluated
Node or String instances
depending on the XPath expression
public java.util.List selectNodes(java.lang.String xpathExpression,
java.lang.String comparisonXPathExpression)
NodeselectNodes evaluates an XPath expression then
sorts the results using a secondary XPath expression
Returns a sorted List of Node instances.
selectNodes in interface NodexpathExpression - 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 java.util.List selectNodes(java.lang.String xpathExpression,
java.lang.String comparisonXPathExpression,
boolean removeDuplicates)
NodeselectNodes evaluates an XPath expression then
sorts the results using a secondary XPath expression
Returns a sorted List of Node instances.
selectNodes in interface NodexpathExpression - 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(java.lang.String xpathExpression)
NodeselectSingleNode evaluates an XPath expression
and returns the result as a single Node instance.
selectSingleNode in interface NodexpathExpression - is the XPath expression to be evaluated
Node matching the XPath expressionpublic java.lang.String valueOf(java.lang.String xpathExpression)
NodevalueOf 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.
valueOf in interface NodexpathExpression - is the XPath expression to be evaluated
public java.lang.Number numberValueOf(java.lang.String xpathExpression)
NodenumberValueOf 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.
numberValueOf in interface NodexpathExpression - is the XPath expression to be evaluated
public boolean matches(java.lang.String patternText)
Nodematches 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 )
matches in interface NodepatternText - is an XPath expression
public XPath createXPath(java.lang.String xpathExpression)
NodecreateXPath creates an XPath object for
the given xpathExpression.
The XPath object allows the variable context to be specified.
createXPath in interface NodexpathExpression - is the XPath expression to be evaluated
public NodeFilter createXPathFilter(java.lang.String patternText)
public Pattern createPattern(java.lang.String patternText)
public Node asXPathResult(Element parent)
NodeasXPathResult 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.
asXPathResult in interface NodeNode which supports the parent relationshipprotected DocumentFactory getDocumentFactory()
protected Node createXPathResult(Element parent)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||