|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.dom4j.tree.AbstractNode
org.dom4j.tree.AbstractBranch
org.dom4j.tree.AbstractDocument
AbstractDocument
is an abstract base class for
tree implementors to use for implementation inheritence.
Field Summary |
Fields inherited from class org.dom4j.tree.AbstractBranch |
DEFAULT_CONTENT_LIST_SIZE, outputFormat |
Fields inherited from class org.dom4j.tree.AbstractNode |
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 | |
AbstractDocument()
|
Method Summary | |
void |
accept(Visitor visitor)
accept method is the Visitor Pattern method. |
void |
add(Element element)
Adds the given Element to this branch. |
Document |
addComment(java.lang.String comment)
Adds a new Comment node with the given text to this branch. |
Element |
addElement(QName qName)
Adds a new Element node with the given QName
to this branch and returns a reference to the new node. |
Element |
addElement(java.lang.String name)
Adds a new Element node with the given name to this branch
and returns a reference to the new node. |
Element |
addElement(java.lang.String qualifiedName,
java.lang.String namespaceURI)
Adds a new Element node with the given qualified name
and namespace URI to this branch and returns a reference to the new node. |
Document |
addProcessingInstruction(java.lang.String target,
java.util.Map data)
Adds a processing instruction for the given target |
Document |
addProcessingInstruction(java.lang.String target,
java.lang.String data)
Adds a processing instruction for the given target |
java.lang.String |
asXML()
asXML returns the textual XML representation of this
node. |
Node |
asXPathResult(Element parent)
asXPathResult returns a version of this node which is
capable of being an XPath result. |
protected void |
checkAddElementAllowed()
|
protected void |
childAdded(Node node)
Called when a new child node has been added to me to allow any parent relationships to be created or events to be fired. |
protected void |
childRemoved(Node node)
Called when a child node has been removed to allow any parent relationships to be deleted or events to be fired. |
Document |
getDocument()
getDocument returns the Document
that this Node is part of if this node supports
the parent relationship. |
short |
getNodeType()
Returns the code according to the type of node. |
java.lang.String |
getPath(Element context)
Returns the relative 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 |
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. |
void |
normalize()
Puts all Text nodes in the full depth of the sub-tree
underneath this Node , including attribute nodes, into a
"normal" form where only structure (e.g., elements, comments,
processing instructions, CDATA sections, and entity references)
separates Text nodes, i.e., there are neither adjacent
Text nodes nor empty Text nodes. |
boolean |
remove(Element element)
Removes the given Element if the node is
an immediate child of this branch. |
protected abstract void |
rootElementAdded(Element rootElement)
Called to set the root element variable |
void |
setRootElement(Element rootElement)
Sets the root element for this document |
java.lang.String |
toString()
|
void |
write(java.io.Writer out)
write writes this node as the default XML
notation for this node. |
Methods inherited from class org.dom4j.tree.AbstractBranch |
add, add, add, addElement, addNode, appendContent, content, contentList, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getText, getTextTrim, hasContent, indexOf, invalidNodeTypeAddException, isReadOnly, node, nodeCount, nodeIterator, remove, remove, remove, removeNode, setProcessingInstructions |
Methods inherited from class org.dom4j.tree.AbstractNode |
clone, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getDocumentFactory, getName, getNodeTypeName, getParent, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.dom4j.Document |
addDocType, getDocType, getEntityResolver, getRootElement, setDocType, setEntityResolver |
Methods inherited from interface org.dom4j.Branch |
add, add, add, appendContent, clearContent, content, elementByID, indexOf, node, nodeCount, nodeIterator, processingInstruction, processingInstructions, processingInstructions, remove, remove, remove, removeProcessingInstruction, setContent, setProcessingInstructions |
Methods inherited from interface org.dom4j.Node |
clone, createXPath, detach, getName, getNodeTypeName, getParent, getPath, getText, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf |
Constructor Detail |
public AbstractDocument()
Method Detail |
public short getNodeType()
Node
getNodeType
in interface Node
getNodeType
in class AbstractNode
public java.lang.String getPath(Element context)
Node
Returns the relative 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 Node
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 java.lang.String getUniquePath(Element context)
Node
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.
getUniquePath
in interface Node
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 Document getDocument()
Node
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.
getDocument
in interface Node
getDocument
in class AbstractNode
public java.lang.String getStringValue()
Node
getStringValue
in interface Node
getStringValue
in class AbstractNode
public java.lang.String asXML()
Node
asXML
returns the textual XML representation of this
node.
asXML
in interface Node
public void write(java.io.Writer out) throws java.io.IOException
Node
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.
write
in interface Node
write
in class AbstractNode
java.io.IOException
public void accept(Visitor visitor)
accept
method is the Visitor Pattern
method.
accept
in interface Node
visitor
- Visitor
is the visitor.public java.lang.String toString()
public void normalize()
Branch
Text
nodes in the full depth of the sub-tree
underneath this Node
, including attribute nodes, into a
"normal" form where only structure (e.g., elements, comments,
processing instructions, CDATA sections, and entity references)
separates Text
nodes, i.e., there are neither adjacent
Text
nodes nor empty Text
nodes. This can
be used to ensure that the DOM view of a document is the same as if
it were saved and re-loaded, and is useful when operations (such as
XPointer lookups) that depend on a particular document tree
structure are to be used.In cases where the document contains
CDATASections
, the normalize operation alone may not be
sufficient, since XPointers do not differentiate between
Text
nodes and CDATASection
nodes.
normalize
in interface Branch
public Document addComment(java.lang.String comment)
Document
Comment
node with the given text to this branch.
addComment
in interface Document
comment
- is the text for the Comment
node.
Document
instance.public Document addProcessingInstruction(java.lang.String target, java.lang.String data)
Document
addProcessingInstruction
in interface Document
target
- is the target of the processing instructiondata
- is the textual data (key/value pairs) of the processing instruction
Document
instance.public Document addProcessingInstruction(java.lang.String target, java.util.Map data)
Document
addProcessingInstruction
in interface Document
target
- is the target of the processing instructiondata
- is a Map of the key / value pairs of the processing instruction
Document
instance.public Element addElement(java.lang.String name)
Branch
Element
node with the given name to this branch
and returns a reference to the new node.
addElement
in interface Branch
addElement
in class AbstractBranch
public Element addElement(java.lang.String qualifiedName, java.lang.String namespaceURI)
Branch
Element
node with the given qualified name
and namespace URI to this branch and returns a reference to the new node.
addElement
in interface Branch
addElement
in class AbstractBranch
public Element addElement(QName qName)
Branch
Element
node with the given QName
to this branch and returns a reference to the new node.
addElement
in interface Branch
addElement
in class AbstractBranch
public void setRootElement(Element rootElement)
Document
setRootElement
in interface Document
rootElement
- the new root element for this documentpublic void add(Element element)
Branch
Element
to this branch.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.
add
in interface Branch
add
in class AbstractBranch
public boolean remove(Element element)
Branch
Element
if the node is
an immediate child of this branch.
If the given node is not an immediate child of this branch
then the Node.detach()
method should be used instead.
remove
in interface Branch
remove
in class AbstractBranch
public Node asXPathResult(Element parent)
Node
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.
asXPathResult
in interface Node
asXPathResult
in class AbstractNode
protected void childAdded(Node node)
AbstractBranch
childAdded
in class AbstractBranch
protected void childRemoved(Node node)
AbstractBranch
childRemoved
in class AbstractBranch
protected void checkAddElementAllowed()
protected abstract void rootElementAdded(Element rootElement)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |