Class AbstractElement
- All Implemented Interfaces:
Serializable
,Cloneable
,Branch
,Element
,Node
- Direct Known Subclasses:
BaseElement
,DefaultElement
AbstractElement
is an abstract base class for tree
implementors to use for implementation inheritence.
- Version:
- $Revision: 1.80 $
- Author:
- James Strachan
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Iterator
protected static final List
protected static final boolean
protected static final boolean
Fields inherited from class org.dom4j.tree.AbstractBranch
DEFAULT_CONTENT_LIST_SIZE
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
method is theVisitor Pattern
method.void
Adds the givenAttribute
to this element.void
Adds the givenCDATA
to this element.void
Adds the givenComment
to this branch.void
Adds the givenElement
to this branch.void
Adds the givenEntity
to this element.void
Adds the givenNamespace
to this element.void
Adds the givenNode
or throwsIllegalAddException
if the given node is not of a valid type.void
Adds the givenProcessingInstruction
to this branch.void
Adds the givenText
to this element.addAttribute
(String name, String value) Adds the attribute value of the given local name.addAttribute
(QName qName, String value) Adds the attribute value of the given fully qualified name.Adds a newCDATA
node with the given text to this element.addComment
(String comment) Adds a newComment
node with the given text to this element.addElement
(String name) Adds a newElement
node with the given name to this branch and returns a reference to the new node.Adds a newEntity
node with the given name and text to this element and returns a reference to the new node.Returns any additional namespaces declarations for this element other than namespace returned via theElement.getNamespace()
method.additionalNamespaces
(String defaultNamespaceURI) addNamespace
(String prefix, String uri) Adds a namespace to this element for use by its child contentprotected void
addNewNode
(int index, Node node) protected void
addNewNode
(Node node) Like addNode() but does not require a parent checkprotected void
protected void
addProcessingInstruction
(String target, String data) Adds a processing instruction for the given targetaddProcessingInstruction
(String target, Map data) Adds a processing instruction for the given targetAdds a newText
node with the given text to this element.void
appendAttributes
(Element element) Appends the attributes of the given element to me.asXML()
asXML
returns the textual XML representation of this node.attribute
(int index) Returns the attribute at the specified indexGets theReturns the attribute with the given nameDOCUMENT ME!int
DOCUMENT ME!DOCUMENT ME!protected abstract List
DOCUMENT ME!protected abstract List
attributeList
(int attributeCount) DOCUMENT ME!attributeValue
(String name) This returns the attribute value for the attribute with the given name and any namespace or null if there is no such attribute or the empty string if the attribute value is empty.attributeValue
(String name, String defaultValue) This returns the attribute value for the attribute with the given name and any namespace or the default value if there is no such attribute value.attributeValue
(QName qName) This returns the attribute value for the attribute with the given fully qualified name or null if there is no such attribute or the empty string if the attribute value is empty.attributeValue
(QName qName, String defaultValue) This returns the attribute value for the attribute with the given fully qualified name or the default value if there is no such attribute value.protected void
childAdded
(Node node) Called when a new child node is added to create any parent relationshipsprotected 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.protected List
A Factory Method pattern which creates a List implementation used to store attributesprotected List
createAttributeList
(int size) A Factory Method pattern which creates a List implementation used to store attributesThis returns a deep clone of this element.createCopy
(String name) Creates a deep copy of this element with the given local name The new element is detached from its parent, and getParent() on the clone will return null.createCopy
(QName qName) Creates a deep copy of this element with the given fully qualified name.protected Element
createElement
(String name) protected Element
createElement
(QName qName) protected Iterator
createSingleIterator
(Object result) Returns all the namespaces declared by this element.Returns the first element for the given local name and any namespace.Returns the first element for the given fully qualified name.Returns an iterator over all this elements child elements.elementIterator
(String name) Returns an iterator over the elements contained in this element which match the given local name and any namespace.elementIterator
(String name, Namespace ns) elementIterator
(QName qName) Returns an iterator over the elements contained in this element which match the given fully qualified name.elements()
Returns the elements contained in this element.Returns the elements contained in this element with the given local name and any namespace.Returns the elements contained in this element with the given fully qualified name.elementText
(String name) elementText
(QName qName) elementTextTrim
(String name) elementTextTrim
(QName qName) void
ensureAttributesCapacity
(int minCapacity) Ensures that the list of attributes has the given sizegetData()
Accesses the data of this element which may implement data typing bindings such as XML Schema or Java Bean bindings or will return the same value asElement.getText()
protected DocumentFactory
getName()
getName
returns the name of this node.Returns theNamespace
of this element if one exists otherwiseNamespace.NO_NAMESPACE
is returned.getNamespaceForPrefix
(String prefix) Returns theNamespace
which is mapped to the given prefix or null if it could not be found.getNamespaceForURI
(String uri) Returns theNamespace
which is mapped to the given URI or null if it could not be found.Returns the namespace prefix of this element if one exists otherwise an emptyString
is returned.Returns the all namespaces which are mapped to the given URI or an empty list if no such namespaces could be found.Returns the URI mapped to the namespace of this element if one exists otherwise an emptyString
is returned.short
Returns the code according to the type of node.Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c.Returns theQName
for the given qualified name, using the namespace URI in scope for the given prefix of the qualified name or the default namespace if the qualified name has no prefix.Returns the fully qualified name of this element.Returns the XPath string-value of this node.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.Returns the XPath expression to match this Elements name which is getQualifiedName() if there is a namespace prefix defined or if no namespace is present then it is getName() or if a namespace is defined with no prefix then the expression is [name()='X'] where X = getName().getXPathResult
(int index) Returns a node at the given index suitable for an XPath result set.boolean
Returns true if thisElement
has mixed content.int
Returns the index of the given node if it is a child node of this branch or -1 if the given node is not a child node.boolean
DOCUMENT ME!boolean
Returns true if thisElement
has text only content.node
(int index) Returns theNode
at the specified index position.int
Returns the number ofNode
instances that this branch contains.Returns an iterator through the content nodes of this branchvoid
Puts allText
nodes in the full depth of the sub-tree underneath thisNode
, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separatesText
nodes, i.e., there are neither adjacentText
nodes nor emptyText
nodes.processingInstruction
(String target) DOCUMENT ME!Returns a list of all the processing instructions in this branch.processingInstructions
(String target) Returns a list of the processing instructions for the given target.boolean
Removes the givenAttribute
from this element.boolean
Removes the givenCDATA
if the node is an immediate child of this element.boolean
Removes the givenComment
if the node is an immediate child of this branch.boolean
Removes the givenElement
if the node is an immediate child of this branch.boolean
Removes the givenEntity
if the node is an immediate child of this element.boolean
Removes the givenNamespace
if the node is an immediate child of this element.boolean
Removes the givenNode
if the node is an immediate child of this branch.boolean
Removes the givenProcessingInstruction
if the node is an immediate child of this branch.boolean
Removes the givenText
if the node is an immediate child of this element.protected boolean
removeNode
(Node node) boolean
removeProcessingInstruction
(String target) Removes the processing instruction for the given target if it existsvoid
setAttributes
(Attributes attributes, NamespaceStack namespaceStack, boolean noNamespaceAttributes) This method provides a more optimal way of setting all the attributes on an Element particularly for use inSAXReader
.void
setAttributeValue
(String name, String value) Deprecated.As of version 0.5.void
setAttributeValue
(QName qName, String value) Deprecated.As of version 0.5.void
Sets the data value of this element if this element supports data binding or callsNode.setText(java.lang.String)
if it doesn'tvoid
Sets the text data of this node or this method will throw anUnsupportedOperationException
if it is read-only.void
setNamespace
(Namespace namespace) void
Sets the text data of this node or this method will throw anUnsupportedOperationException
if it is read-only.toString()
void
write
writes this node as the default XML notation for this node.Methods inherited from class org.dom4j.tree.AbstractBranch
addElement, addElement, addElement, appendContent, content, contentList, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getText, getTextTrim, hasContent, invalidNodeTypeAddException, isReadOnly, setProcessingInstructions
Methods inherited from class org.dom4j.tree.AbstractNode
asXPathResult, clone, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getDocument, getNodeTypeName, getParent, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setParent, supportsParent, valueOf
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.dom4j.Branch
addElement, addElement, appendContent, clearContent, content, elementByID, setContent, setProcessingInstructions
Methods inherited from interface org.dom4j.Element
getQName, getText, getTextTrim, setAttributes, setQName
Methods inherited from interface org.dom4j.Node
asXPathResult, clone, createXPath, detach, getDocument, getNodeTypeName, getParent, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setParent, supportsParent, valueOf
-
Field Details
-
EMPTY_LIST
-
EMPTY_ITERATOR
-
VERBOSE_TOSTRING
protected static final boolean VERBOSE_TOSTRING- See Also:
-
USE_STRINGVALUE_SEPARATOR
protected static final boolean USE_STRINGVALUE_SEPARATOR- See Also:
-
-
Constructor Details
-
AbstractElement
public AbstractElement()
-
-
Method Details
-
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:
getNodeType
in interfaceNode
- Overrides:
getNodeType
in classAbstractNode
- Returns:
- a W3C DOM complient code for the node type such as ELEMENT_NODE or ATTRIBUTE_NODE
-
isRootElement
public boolean isRootElement()Description copied from interface:Element
DOCUMENT ME!- Specified by:
isRootElement
in interfaceElement
- Returns:
- true if this element is the root element of a document and this element supports the parent relationship else false.
-
setName
Description copied from interface:Node
Sets the text data of this node or this method will throw an
UnsupportedOperationException
if it is read-only.- Specified by:
setName
in interfaceNode
- Overrides:
setName
in classAbstractNode
- Parameters:
name
- is the new name of this node
-
setNamespace
-
getXPathNameStep
Returns the XPath expression to match this Elements name which is getQualifiedName() if there is a namespace prefix defined or if no namespace is present then it is getName() or if a namespace is defined with no prefix then the expression is [name()='X'] where X = getName().- Returns:
- DOCUMENT ME!
-
getPath
Description copied from interface: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.- Specified by:
getPath
in interfaceNode
- Parameters:
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.- Returns:
- the XPath expression relative to the given context which will return a nodeset containing at least this node.
-
getUniquePath
Description copied from interface: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.
- Specified by:
getUniquePath
in interfaceNode
- Parameters:
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.- Returns:
- the XPath expression relative to the given context which will return a nodeset containing just this node.
-
asXML
Description copied from interface:Node
asXML
returns the textual XML representation of this node. -
write
Description copied from interface: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 useXMLWriter
or its derivations.- Specified by:
write
in interfaceNode
- Overrides:
write
in classAbstractNode
- Parameters:
out
- is theWriter
to output the XML to- Throws:
IOException
- DOCUMENT ME!
-
accept
accept
method is theVisitor Pattern
method. -
toString
-
getNamespace
Description copied from interface:Element
Returns the
Namespace
of this element if one exists otherwiseNamespace.NO_NAMESPACE
is returned.- Specified by:
getNamespace
in interfaceElement
- Returns:
- the
Namespace
associated with this element
-
getName
Description copied from interface:Node
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.- Specified by:
getName
in interfaceNode
- Overrides:
getName
in classAbstractNode
- Returns:
- the XML name of this node
-
getNamespacePrefix
Description copied from interface:Element
Returns the namespace prefix of this element if one exists otherwise an empty
String
is returned.- Specified by:
getNamespacePrefix
in interfaceElement
- Returns:
- the prefix of the
Namespace
of this element or an emptyString
-
getNamespaceURI
Description copied from interface:Element
Returns the URI mapped to the namespace of this element if one exists otherwise an empty
String
is returned.- Specified by:
getNamespaceURI
in interfaceElement
- Returns:
- the URI for the
Namespace
of this element or an emptyString
-
getQualifiedName
Description copied from interface:Element
Returns the fully qualified name of this element. This will be the same as the value returned from
Node.getName()
if this element has no namespace attached to this element or an expression of the formgetNamespacePrefix() + ":" + getName()
will be returned.- Specified by:
getQualifiedName
in interfaceElement
- Returns:
- the fully qualified name of the element.
-
getData
Description copied from interface:Element
Accesses the data of this element which may implement data typing bindings such as XML Schema or Java Bean bindings or will return the same value asElement.getText()
-
setData
Description copied from interface:Element
Sets the data value of this element if this element supports data binding or callsNode.setText(java.lang.String)
if it doesn't -
node
Description copied from interface:Branch
Returns theNode
at the specified index position.- Specified by:
node
in interfaceBranch
- Overrides:
node
in classAbstractBranch
- Parameters:
index
- the index of the node to return.- Returns:
- the
Node
at the specified position.
-
indexOf
Description copied from interface:Branch
Returns the index of the given node if it is a child node of this branch or -1 if the given node is not a child node.- Specified by:
indexOf
in interfaceBranch
- Overrides:
indexOf
in classAbstractBranch
- Parameters:
node
- the content child node to find.- Returns:
- the index of the given node starting at 0 or -1 if the node is not a child node of this branch
-
nodeCount
public int nodeCount()Description copied from interface:Branch
Returns the number ofNode
instances that this branch contains.- Specified by:
nodeCount
in interfaceBranch
- Overrides:
nodeCount
in classAbstractBranch
- Returns:
- the number of nodes this branch contains
-
nodeIterator
Description copied from interface:Branch
Returns an iterator through the content nodes of this branch- Specified by:
nodeIterator
in interfaceBranch
- Overrides:
nodeIterator
in classAbstractBranch
- Returns:
- an iterator through the content nodes of this branch
-
element
Description copied from interface:Element
Returns the first element for the given local name and any namespace. -
element
Description copied from interface:Element
Returns the first element for the given fully qualified name. -
element
-
elements
Description copied from interface:Element
Returns the elements contained in this element. If this element does not contain any elements then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.
-
elements
Description copied from interface:Element
Returns the elements contained in this element with the given local name and any namespace. If no elements are found then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.
-
elements
Description copied from interface:Element
Returns the elements contained in this element with the given fully qualified name. If no elements are found then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.
-
elements
-
elementIterator
Description copied from interface:Element
Returns an iterator over all this elements child elements.- Specified by:
elementIterator
in interfaceElement
- Returns:
- an iterator over the contained elements
-
elementIterator
Description copied from interface:Element
Returns an iterator over the elements contained in this element which match the given local name and any namespace.- Specified by:
elementIterator
in interfaceElement
- Parameters:
name
- DOCUMENT ME!- Returns:
- an iterator over the contained elements matching the given local name
-
elementIterator
Description copied from interface:Element
Returns an iterator over the elements contained in this element which match the given fully qualified name.- Specified by:
elementIterator
in interfaceElement
- Parameters:
qName
- is the fully qualified name to search for- Returns:
- an iterator over the contained elements matching the given fully qualified name
-
elementIterator
-
attributes
Description copied from interface:Element
Returns the
Attribute
instances this element contains as a backedList
so that the attributes may be modified directly using theList
interface. TheList
is backed by theElement
so that changes to the list are reflected in the element and vice versa.- Specified by:
attributes
in interfaceElement
- Returns:
- the attributes that this element contains as a
List
-
attributeIterator
Description copied from interface:Element
DOCUMENT ME!- Specified by:
attributeIterator
in interfaceElement
- Returns:
- an iterator over the attributes of this element
-
attribute
Description copied from interface:Element
Returns the attribute at the specified indexGets the -
attributeCount
public int attributeCount()Description copied from interface:Element
DOCUMENT ME!- Specified by:
attributeCount
in interfaceElement
- Returns:
- the number of attributes this element contains
-
attribute
Description copied from interface:Element
Returns the attribute with the given name -
attribute
Description copied from interface:Element
DOCUMENT ME! -
attribute
-
setAttributes
public void setAttributes(Attributes attributes, NamespaceStack namespaceStack, boolean noNamespaceAttributes) This method provides a more optimal way of setting all the attributes on an Element particularly for use inSAXReader
.- Parameters:
attributes
- DOCUMENT ME!namespaceStack
- DOCUMENT ME!noNamespaceAttributes
- DOCUMENT ME!
-
attributeValue
Description copied from interface:Element
This returns the attribute value for the attribute with the given name and any namespace or null if there is no such attribute or the empty string if the attribute value is empty.
- Specified by:
attributeValue
in interfaceElement
- Parameters:
name
- is the name of the attribute value to be returnd- Returns:
- the value of the attribute, null if the attribute does not exist or the empty string
-
attributeValue
Description copied from interface:Element
This returns the attribute value for the attribute with the given fully qualified name or null if there is no such attribute or the empty string if the attribute value is empty.
- Specified by:
attributeValue
in interfaceElement
- Parameters:
qName
- is the fully qualified name- Returns:
- the value of the attribute, null if the attribute does not exist or the empty string
-
attributeValue
Description copied from interface:Element
This returns the attribute value for the attribute with the given name and any namespace or the default value if there is no such attribute value.
- Specified by:
attributeValue
in interfaceElement
- Parameters:
name
- is the name of the attribute value to be returnddefaultValue
- is the default value to be returned if the attribute has no value defined.- Returns:
- the value of the attribute or the defaultValue if the attribute has no value defined.
-
attributeValue
Description copied from interface:Element
This returns the attribute value for the attribute with the given fully qualified name or the default value if there is no such attribute value.
- Specified by:
attributeValue
in interfaceElement
- Parameters:
qName
- is the fully qualified namedefaultValue
- is the default value to be returned if the attribute has no value defined.- Returns:
- the value of the attribute or the defaultValue if the attribute has no value defined.
-
setAttributeValue
Deprecated.As of version 0.5. Please useaddAttribute(String,String)
instead. WILL BE REMOVED IN dom4j-1.6 !!DOCUMENT ME!- Specified by:
setAttributeValue
in interfaceElement
- Parameters:
name
- DOCUMENT ME!value
- DOCUMENT ME!
-
setAttributeValue
Deprecated.As of version 0.5. Please useaddAttribute(String,String)
instead. WILL BE REMOVED IN dom4j-1.6 !!DOCUMENT ME!- Specified by:
setAttributeValue
in interfaceElement
- Parameters:
qName
- DOCUMENT ME!value
- DOCUMENT ME!
-
add
Description copied from interface:Element
Adds the givenAttribute
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. Attributes with null values are silently ignored.If the value of the attribute is null then this method call will remove any attributes with the QName of this attribute.
-
remove
Description copied from interface:Element
Removes the givenAttribute
from this element. -
processingInstructions
Description copied from interface:Branch
Returns a list of all the processing instructions in this branch. The list is backed by this branch so that changes to the list will be reflected in the branch but the reverse is not the case.
- Specified by:
processingInstructions
in interfaceBranch
- Returns:
- a backed list of the processing instructions
-
processingInstructions
Description copied from interface:Branch
Returns a list of the processing instructions for the given target. The list is backed by this branch so that changes to the list will be reflected in the branch but the reverse is not the case.
- Specified by:
processingInstructions
in interfaceBranch
- Parameters:
target
- DOCUMENT ME!- Returns:
- a backed list of the processing instructions
-
processingInstruction
Description copied from interface:Branch
DOCUMENT ME!- Specified by:
processingInstruction
in interfaceBranch
- Parameters:
target
- DOCUMENT ME!- Returns:
- the processing instruction for the given target
-
removeProcessingInstruction
Description copied from interface:Branch
Removes the processing instruction for the given target if it exists- Specified by:
removeProcessingInstruction
in interfaceBranch
- Parameters:
target
- DOCUMENT ME!- Returns:
- true if a processing instruction was removed else false
-
getXPathResult
Description copied from interface:Element
Returns a node at the given index suitable for an XPath result set. This means the resulting Node will either be null or it will support the parent relationship.- Specified by:
getXPathResult
in interfaceElement
- Parameters:
index
- DOCUMENT ME!- Returns:
- the Node for the given index which will support the parent relationship or null if there is not a node at the given index.
-
addAttribute
Description copied from interface:Element
Adds the attribute value of the given local name. If an attribute already exists for the given name it will be replaced. Attributes with null values are silently ignored. If the value of the attribute is null then this method call will remove any attributes with the given name.
- Specified by:
addAttribute
in interfaceElement
- Parameters:
name
- is the name of the attribute whose value is to be added or updatedvalue
- is the attribute's value- Returns:
- this
Element
instance.
-
addAttribute
Description copied from interface:Element
Adds the attribute value of the given fully qualified name. If an attribute already exists for the given name it will be replaced. Attributes with null values are silently ignored. If the value of the attribute is null then this method call will remove any attributes with the given name.
- Specified by:
addAttribute
in interfaceElement
- Parameters:
qName
- is the fully qualified name of the attribute whose value is to be added or updatedvalue
- is the attribute's value- Returns:
- this
Element
instance.
-
addCDATA
Description copied from interface:Element
Adds a newCDATA
node with the given text to this element. -
addComment
Description copied from interface:Element
Adds a newComment
node with the given text to this element.- Specified by:
addComment
in interfaceElement
- Parameters:
comment
- is the text for theComment
node.- Returns:
- this
Element
instance.
-
addElement
Description copied from interface:Branch
Adds a newElement
node with the given name to this branch and returns a reference to the new node.- Specified by:
addElement
in interfaceBranch
- Overrides:
addElement
in classAbstractBranch
- Parameters:
name
- is the name for theElement
node.- Returns:
- the newly added
Element
node.
-
addEntity
Description copied from interface:Element
Adds a newEntity
node with the given name and text to this element and returns a reference to the new node. -
addNamespace
Description copied from interface:Element
Adds a namespace to this element for use by its child content- Specified by:
addNamespace
in interfaceElement
- Parameters:
prefix
- is the prefix to use, which should not be null or blankuri
- is the namespace URI- Returns:
- this
Element
instance.
-
addProcessingInstruction
Description copied from interface:Element
Adds a processing instruction for the given target- Specified by:
addProcessingInstruction
in interfaceElement
- Parameters:
target
- is the target of the processing instructiondata
- is the textual data (key/value pairs) of the processing instruction- Returns:
- this
Element
instance.
-
addProcessingInstruction
Description copied from interface:Element
Adds a processing instruction for the given target- Specified by:
addProcessingInstruction
in interfaceElement
- Parameters:
target
- is the target of the processing instructiondata
- is a Map of the key / value pairs of the processing instruction- Returns:
- this
Element
instance.
-
addText
Description copied from interface:Element
Adds a newText
node with the given text to this element. -
add
Description copied from interface:Branch
Adds the givenNode
or throwsIllegalAddException
if the given node is not of a valid type. This is a polymorphic method which will call the typesafe method for the node type such as add(Element) or add(Comment).- Specified by:
add
in interfaceBranch
- Overrides:
add
in classAbstractBranch
- Parameters:
node
- is the given node to add
-
remove
Description copied from interface:Branch
Removes the givenNode
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead. This is a polymorphic method which will call the typesafe method for the node type such as remove(Element) or remove(Comment).- Specified by:
remove
in interfaceBranch
- Overrides:
remove
in classAbstractBranch
- Parameters:
node
- is the given node to be removed- Returns:
- true if the node was removed
-
add
Description copied from interface:Element
Adds the givenCDATA
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. -
add
Description copied from interface:Branch
Adds the givenComment
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown.- Specified by:
add
in interfaceBranch
- Overrides:
add
in classAbstractBranch
- Parameters:
comment
- is the comment to be added
-
add
Description copied from interface:Branch
Adds the givenElement
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown.- Specified by:
add
in interfaceBranch
- Overrides:
add
in classAbstractBranch
- Parameters:
element
- is the element to be added
-
add
Description copied from interface:Element
Adds the givenEntity
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. -
add
Description copied from interface:Element
Adds the givenNamespace
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. -
add
Description copied from interface:Branch
Adds the givenProcessingInstruction
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown.- Specified by:
add
in interfaceBranch
- Overrides:
add
in classAbstractBranch
- Parameters:
pi
- is the processing instruction to be added
-
add
Description copied from interface:Element
Adds the givenText
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. -
remove
Description copied from interface:Element
Removes the givenCDATA
if the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()
method should be used instead. -
remove
Description copied from interface:Branch
Removes the givenComment
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead.- Specified by:
remove
in interfaceBranch
- Overrides:
remove
in classAbstractBranch
- Parameters:
comment
- is the comment to be removed- Returns:
- true if the comment was removed
-
remove
Description copied from interface:Branch
Removes the givenElement
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead.- Specified by:
remove
in interfaceBranch
- Overrides:
remove
in classAbstractBranch
- Parameters:
element
- is the element to be removed- Returns:
- true if the element was removed
-
remove
Description copied from interface:Element
Removes the givenEntity
if the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()
method should be used instead. -
remove
Description copied from interface:Element
Removes the givenNamespace
if the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()
method should be used instead. -
remove
Description copied from interface:Branch
Removes the givenProcessingInstruction
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead.- Specified by:
remove
in interfaceBranch
- Overrides:
remove
in classAbstractBranch
- Parameters:
pi
- is the processing instruction to be removed- Returns:
- true if the processing instruction was removed
-
remove
Description copied from interface:Element
Removes the givenText
if the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()
method should be used instead. -
hasMixedContent
public boolean hasMixedContent()Description copied from interface:Element
Returns true if this
Element
has mixed content. Mixed content means that an element contains both textual data and child elements.- Specified by:
hasMixedContent
in interfaceElement
- Returns:
- true if this element contains mixed content.
-
isTextOnly
public boolean isTextOnly()Description copied from interface:Element
Returns true if this
Element
has text only content.- Specified by:
isTextOnly
in interfaceElement
- Returns:
- true if this element is empty or only contains text content.
-
setText
Description copied from interface:Node
Sets the text data of this node or this method will throw an
UnsupportedOperationException
if it is read-only.- Specified by:
setText
in interfaceNode
- Overrides:
setText
in classAbstractNode
- Parameters:
text
- is the new textual value of this node
-
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:
getStringValue
in interfaceElement
- Specified by:
getStringValue
in interfaceNode
- Overrides:
getStringValue
in classAbstractNode
- Returns:
- the text from all the child Text and Element nodes appended together.
-
normalize
public void normalize()Puts allText
nodes in the full depth of the sub-tree underneath thisNode
, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separatesText
nodes, i.e., there are neither adjacentText
nodes nor emptyText
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 containsCDATASections
, the normalize operation alone may not be sufficient, since XPointers do not differentiate betweenText
nodes andCDATASection
nodes. -
elementText
- Specified by:
elementText
in interfaceElement
-
elementText
- Specified by:
elementText
in interfaceElement
-
elementTextTrim
- Specified by:
elementTextTrim
in interfaceElement
-
elementTextTrim
- Specified by:
elementTextTrim
in interfaceElement
-
appendAttributes
Description copied from interface:Element
Appends the attributes of the given element to me. This method behaves like theCollection.addAll(java.util.Collection)
method.- Specified by:
appendAttributes
in interfaceElement
- Parameters:
element
- is the element whose attributes will be added to me.
-
createCopy
This returns a deep clone of this element. The new element is detached from its parent, and getParent() on the clone will return null.
- Specified by:
createCopy
in interfaceElement
- Returns:
- the clone of this element
-
createCopy
Description copied from interface:Element
Creates a deep copy of this element with the given local name The new element is detached from its parent, and getParent() on the clone will return null.
- Specified by:
createCopy
in interfaceElement
- Parameters:
name
- DOCUMENT ME!- Returns:
- a new deep copy Element
-
createCopy
Description copied from interface:Element
Creates a deep copy of this element with the given fully qualified name. The new element is detached from its parent, and getParent() on the clone will return null.
- Specified by:
createCopy
in interfaceElement
- Parameters:
qName
- DOCUMENT ME!- Returns:
- a new deep copy Element
-
getQName
Description copied from interface:Element
Returns the
QName
for the given qualified name, using the namespace URI in scope for the given prefix of the qualified name or the default namespace if the qualified name has no prefix. -
getNamespaceForPrefix
Description copied from interface:Element
Returns the
Namespace
which is mapped to the given prefix or null if it could not be found.- Specified by:
getNamespaceForPrefix
in interfaceElement
- Parameters:
prefix
- DOCUMENT ME!- Returns:
- the
Namespace
associated with the given prefix
-
getNamespaceForURI
Description copied from interface:Element
Returns the
Namespace
which is mapped to the given URI or null if it could not be found. If there is more than oneNamespace
mapped to the URI, which of them will be returned is undetermined.- Specified by:
getNamespaceForURI
in interfaceElement
- Parameters:
uri
- DOCUMENT ME!- Returns:
- the
Namespace
associated with the given URI
-
getNamespacesForURI
Description copied from interface:Element
Returns the all namespaces which are mapped to the given URI or an empty list if no such namespaces could be found.
- Specified by:
getNamespacesForURI
in interfaceElement
- Parameters:
uri
- DOCUMENT ME!- Returns:
- the namespaces associated with the given URI
-
declaredNamespaces
Description copied from interface:Element
Returns all the namespaces declared by this element. If no namespaces are declared for this element then an empty list will be returned. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.
- Specified by:
declaredNamespaces
in interfaceElement
- Returns:
- a list of namespaces declared for this element.
-
additionalNamespaces
Description copied from interface:Element
Returns any additional namespaces declarations for this element other than namespace returned via the
Element.getNamespace()
method. If no additional namespace declarations are present for this element then an empty list will be returned. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Specified by:
additionalNamespaces
in interfaceElement
- Returns:
- a list of any additional namespace declarations.
-
additionalNamespaces
-
ensureAttributesCapacity
public void ensureAttributesCapacity(int minCapacity) Ensures that the list of attributes has the given size- Parameters:
minCapacity
- DOCUMENT ME!
-
createElement
-
createElement
-
addNode
- Specified by:
addNode
in classAbstractBranch
-
addNode
- Specified by:
addNode
in classAbstractBranch
-
addNewNode
Like addNode() but does not require a parent check- Parameters:
node
- DOCUMENT ME!
-
addNewNode
-
removeNode
- Specified by:
removeNode
in classAbstractBranch
-
childAdded
Called when a new child node is added to create any parent relationships- Specified by:
childAdded
in classAbstractBranch
- Parameters:
node
- DOCUMENT ME!
-
childRemoved
Description copied from class:AbstractBranch
Called when a child node has been removed to allow any parent relationships to be deleted or events to be fired.- Specified by:
childRemoved
in classAbstractBranch
- Parameters:
node
- DOCUMENT ME!
-
attributeList
DOCUMENT ME!- Returns:
- the internal List used to store attributes or creates one if one is not available
-
attributeList
DOCUMENT ME!- Parameters:
attributeCount
- DOCUMENT ME!- Returns:
- the internal List used to store attributes or creates one with the specified size if one is not available
-
getDocumentFactory
- Overrides:
getDocumentFactory
in classAbstractNode
-
createAttributeList
A Factory Method pattern which creates a List implementation used to store attributes- Returns:
- DOCUMENT ME!
-
createAttributeList
A Factory Method pattern which creates a List implementation used to store attributes- Parameters:
size
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
createSingleIterator
-