|
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
org.dom4j.tree Class AbstractNode
java.lang.Objectorg.dom4j.tree.AbstractNode
- All Implemented Interfaces:
- Cloneable, Node, Serializable
- Direct Known Subclasses:
- AbstractAttribute, AbstractBranch, AbstractCharacterData, AbstractDocumentType, AbstractEntity, AbstractProcessingInstruction, Namespace
- public abstract class AbstractNode
- extends Object
- implements Node, Cloneable, Serializable
AbstractNode is an abstract base class for tree implementors
to use for implementation inheritence.
- Version:
- $Revision: 1.31 $
- Author:
- James Strachan
- See Also:
- Serialized Form
| Field Summary | |
protected static 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. |
Object |
clone()
clone will return a deep clone or if this node is
read-only then clone will return the same instance.
|
Pattern |
createPattern(String patternText)
|
XPath |
createXPath(String xpathExpression)
createXPath creates an XPath object for the given
xpathExpression. |
NodeFilter |
createXPathFilter(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()
|
String |
getName()
getName returns the name of this node. |
short |
getNodeType()
Returns the code according to the type of node. |
String |
getNodeTypeName()
DOCUMENT ME! |
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.
|
String |
getPath()
Returns the 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. |
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(String patternText)
matches returns true if evaluating the given XPath
expression on this node returns a non-empty node set containing this
node.
|
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.
|
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.
|
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.
|
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.
|
Object |
selectObject(String xpathExpression)
selectObject evaluates an XPath expression and returns the
result as an Object. |
Node |
selectSingleNode(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(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(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.
|
String |
valueOf(String xpathExpression)
valueOf evaluates an XPath expression and returns the
textual representation of the results the XPath string-value of this
node. |
void |
write(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 |
NODE_TYPE_NAMES
protected static final String[] NODE_TYPE_NAMES
| Constructor Detail |
AbstractNode
public AbstractNode()
| Method Detail |
getNodeType
public short getNodeType()
- Description copied from interface:
Node - Returns the code according to the type of node. This makes processing
nodes polymorphically much easier as the switch statement can be used
instead of multiple if (instanceof) statements.
- Specified by:
getNodeTypein interfaceNode
- Returns:
- a W3C DOM complient code for the node type such as ELEMENT_NODE or ATTRIBUTE_NODE
getNodeTypeName
public String getNodeTypeName()
- Description copied from interface:
Node - DOCUMENT ME!
- Specified by:
getNodeTypeNamein interfaceNode
- Returns:
- the name of the type of node such as "Document", "Element", "Attribute" or "Text"
getDocument
public Document getDocument()
- Description copied from interface:
Node getDocumentreturns theDocumentthat thisNodeis part of if this node supports the parent relationship.This method is an optional feature and may not be supported for all
Nodeimplementations.- Specified by:
getDocumentin interfaceNode
- Returns:
- the document of this node or null if this feature is not
supported or the node is not associated with a
Document
setDocument
public void setDocument(Document document)
- Description copied from interface:
Node setDocumentsets 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
Documentimplementation method and is not intended for general use.- Specified by:
setDocumentin interfaceNode
- Parameters:
document- is the new document of this node.
getParent
public Element getParent()
- Description copied from interface:
Node getParentreturns the parentElementif 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
Nodeimplementations.- Returns:
- the parent of this node or null if it is the root of the tree or the parent relationship is not supported.
setParent
public void setParent(Element parent)
- Description copied from interface:
Node setParentsets 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
Elementimplementation method and is not intended for general use.- Parameters:
parent- is the new parent of this node.
supportsParent
public boolean supportsParent()
- Description copied from interface:
Node supportsParentreturns 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.
- Specified by:
supportsParentin interfaceNode
- Returns:
- true if this node supports the parent relationship or false it is not supported
isReadOnly
public boolean isReadOnly()
- Description copied from interface:
Node isReadOnlyreturns true if this node is read only and cannot be modified. Any attempt to modify a read-onlyNodewill result in anUnsupportedOperationExceptionbeing thrown.- Specified by:
isReadOnlyin interfaceNode
- Returns:
- true if this
Nodeis read only and cannot be modified otherwise false.
hasContent
public boolean hasContent()
- Description copied from interface:
Node 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.- Specified by:
hasContentin interfaceNode
- Returns:
- true if this
Nodeis a Branch with a nodeCount() of one or more.
getPath
public String getPath()
- Description copied from interface:
Node 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.
- Returns:
- the XPath expression which will return a nodeset containing at least this node.
getUniquePath
public String getUniquePath()
- Description copied from interface:
Node 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.
- Specified by:
getUniquePathin interfaceNode
- Returns:
- the XPath expression which will return a nodeset containing just this node.
clone
public Object clone()
- Description copied from interface:
Node clonewill return a deep clone or if this node is read-only then clone will return the same instance.
detach
public Node detach()
- Description copied from interface:
Node 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() );- Returns:
- the node that has been removed from its parent node if any and its document if any.
getName
public String getName()
- Description copied from interface:
Node getNamereturns 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.- Returns:
- the XML name of this node
setName
public void setName(String name)
- Description copied from interface:
Node Sets the text data of this node or this method will throw an
UnsupportedOperationExceptionif it is read-only.- Parameters:
name- is the new name of this node
getText
public String getText()
- Description copied from interface:
Node Returns the text of this node.
- Returns:
- the text for this node.
getStringValue
public String getStringValue()
- Description copied from interface:
Node - Returns the XPath string-value of this node. The behaviour of this method
is defined in the XPath
specification .
- Specified by:
getStringValuein interfaceNode
- Returns:
- the text from all the child Text and Element nodes appended together.
setText
public void setText(String text)
- Description copied from interface:
Node Sets the text data of this node or this method will throw an
UnsupportedOperationExceptionif it is read-only.- Parameters:
text- is the new textual value of this node
write
public void write(Writer writer) throws IOException
- Description copied from interface:
Node writewrites 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 useXMLWriteror its derivations.- Parameters:
writer- is theWriterto output the XML to- Throws:
IOException- DOCUMENT ME!
selectObject
public Object selectObject(String xpathExpression)
- Description copied from interface:
Node selectObjectevaluates an XPath expression and returns the result as anObject. The object returned can either be aListof one or moreNodeinstances or a scalar object like aStringor aNumberinstance depending on the XPath expression.- Specified by:
selectObjectin interfaceNode
selectNodes
public List selectNodes(String xpathExpression)
- Description copied from interface:
Node selectNodesevaluates an XPath expression and returns the result as aListofNodeinstances orStringinstances depending on the XPath expression.- Specified by:
selectNodesin interfaceNode
- Parameters:
xpathExpression- is the XPath expression to be evaluated- Returns:
- the list of
NodeorStringinstances depending on the XPath expression
selectNodes
public List selectNodes(String xpathExpression, String comparisonXPathExpression)
- Description copied from interface:
Node selectNodesevaluates an XPath expression then sorts the results using a secondary XPath expression Returns a sortedListofNodeinstances.- Specified by:
selectNodesin interfaceNode
- Parameters:
xpathExpression- is the XPath expression to be evaluatedcomparisonXPathExpression- is the XPath expression used to compare the results by for sorting- Returns:
- the list of
Nodeinstances sorted by the comparisonXPathExpression
selectNodes
public List selectNodes(String xpathExpression, String comparisonXPathExpression, boolean removeDuplicates)
- Description copied from interface:
Node selectNodesevaluates an XPath expression then sorts the results using a secondary XPath expression Returns a sortedListofNodeinstances.- Specified by:
selectNodesin interfaceNode
- Parameters:
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.- Returns:
- the list of
Nodeinstances sorted by the comparisonXPathExpression
selectSingleNode
public Node selectSingleNode(String xpathExpression)
- Description copied from interface:
Node selectSingleNodeevaluates an XPath expression and returns the result as a singleNodeinstance.- Specified by:
selectSingleNodein interfaceNode
- Parameters:
xpathExpression- is the XPath expression to be evaluated- Returns:
- the
Nodematching the XPath expression
valueOf
public String valueOf(String xpathExpression)
- Description copied from interface:
Node valueOfevaluates 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 .- Parameters:
xpathExpression- is the XPath expression to be evaluated- Returns:
- the string-value representation of the results of the XPath expression
numberValueOf
public Number numberValueOf(String xpathExpression)
- Description copied from interface:
Node 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.- Specified by:
numberValueOfin interfaceNode
- Parameters:
xpathExpression- is the XPath expression to be evaluated- Returns:
- the numeric result of the XPath expression or null if the result is not a number.
matches
public boolean matches(String patternText)
- Description copied from interface:
Node matchesreturns 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 )- Parameters:
patternText- is an XPath expression- Returns:
- true if this node is returned by the given XPath expression
createXPath
public XPath createXPath(String xpathExpression)
- Description copied from interface:
Node createXPathcreates an XPath object for the given xpathExpression. The XPath object allows the variable context to be specified.- Specified by:
createXPathin interfaceNode
- Parameters:
xpathExpression- is the XPath expression to be evaluated- Returns:
- an XPath object represeting the given expression
createXPathFilter
public NodeFilter createXPathFilter(String patternText)
createPattern
public Pattern createPattern(String patternText)
asXPathResult
public Node asXPathResult(Element parent)
- Description copied from interface:
Node asXPathResultreturns 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.- Specified by:
asXPathResultin interfaceNode
- Parameters:
parent- DOCUMENT ME!- Returns:
- a
Nodewhich supports the parent relationship
getDocumentFactory
protected DocumentFactory getDocumentFactory()
createXPathResult
protected Node createXPathResult(Element parent)
|
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
org.dom4j.tree.AbstractNode