|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--org.dom4j.tree.AbstractNode
|
+--org.dom4j.tree.AbstractBranch
|
+--org.dom4j.tree.AbstractElement
AbstractElement is an abstract base class for
tree implementors to use for implementation inheritence.
| Field Summary | |
protected static Iterator |
EMPTY_ITERATOR
|
protected static List |
EMPTY_LIST
|
protected static boolean |
USE_STRINGVALUE_SEPARATOR
|
protected static boolean |
VERBOSE_TOSTRING
|
| 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 | |
AbstractElement()
|
|
| Method Summary | |
void |
accept(Visitor visitor)
accept method is the Visitor Pattern method. |
void |
add(Attribute attribute)
Adds the given Attribute to this element. |
void |
add(CDATA cdata)
Adds the given CDATA to this element. |
void |
add(Comment comment)
Adds the given Comment to this branch. |
void |
add(Element element)
Adds the given Element to this branch. |
void |
add(Entity entity)
Adds the given Entity to this element. |
void |
add(Namespace namespace)
Adds the given Namespace to this element. |
void |
add(Node node)
Adds the given Node or throws IllegalAddException
if the given node is not of a valid type. |
void |
add(ProcessingInstruction pi)
Adds the given ProcessingInstruction to this branch. |
void |
add(Text text)
Adds the given Text to this element. |
Element |
addAttribute(QName qName,
String value)
Adds the attribute value of the given fully qualified name. |
Element |
addAttribute(String name,
String value)
Adds the attribute value of the given local name. |
Element |
addCDATA(String cdata)
Adds a new CDATA node with the given text to this element. |
Element |
addComment(String comment)
Adds a new Comment node with the given text to this element. |
Element |
addElement(String name)
Adds a new Element node with the given name to this branch
and returns a reference to the new node. |
Element |
addEntity(String name,
String text)
Adds a new Entity node with the given name and text
to this element and returns a reference to the new node. |
List |
additionalNamespaces()
Returns any additional namespaces declarations for this element other than namespace returned via the getNamespace() method. |
List |
additionalNamespaces(String defaultNamespaceURI)
|
Element |
addNamespace(String prefix,
String uri)
Adds a namespace to this element for use by its child content |
protected void |
addNewNode(Node node)
Like addNode() but does not require a parent check |
protected void |
addNode(Node node)
|
Element |
addProcessingInstruction(String target,
Map data)
Adds a processing instruction for the given target |
Element |
addProcessingInstruction(String target,
String data)
Adds a processing instruction for the given target |
Element |
addText(String text)
Adds a new Text node with the given text to this element. |
void |
appendAttributes(Element element)
Appends the attributes of the given element to me. |
String |
asXML()
asXML returns the textual XML representation of this
node. |
Attribute |
attribute(int index)
Returns the attribute at the specified indexGets the |
Attribute |
attribute(QName qName)
|
Attribute |
attribute(String name)
Returns the attribute with the given name |
Attribute |
attribute(String name,
Namespace namespace)
|
int |
attributeCount()
|
Iterator |
attributeIterator()
|
protected abstract List |
attributeList()
|
protected abstract List |
attributeList(int attributeCount)
|
List |
attributes()
Returns the Attribute instances this element contains as
a backed List so that the attributes may be modified directly
using the List interface. |
String |
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. |
String |
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. |
String |
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. |
String |
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. |
protected void |
childAdded(Node node)
Called when a new child node is added to create any parent relationships |
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. |
protected List |
createAttributeList()
A Factory Method pattern which creates a List implementation used to store attributes |
protected List |
createAttributeList(int size)
A Factory Method pattern which creates a List implementation used to store attributes |
Element |
createCopy()
This returns a deep clone of this element. |
Element |
createCopy(QName qName)
Creates a deep copy of this element with the given fully qualified name. |
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. |
protected Element |
createElement(QName qName)
|
protected Element |
createElement(String name)
|
protected Iterator |
createSingleIterator(Object result)
|
List |
declaredNamespaces()
Returns all the namespaces declared by this element. |
Element |
element(QName qName)
Returns the first element for the given fully qualified name. |
Element |
element(String name)
Returns the first element for the given local name and any namespace. |
Element |
element(String name,
Namespace namespace)
|
Iterator |
elementIterator()
Returns an iterator over all this elements child elements. |
Iterator |
elementIterator(QName qName)
Returns an iterator over the elements contained in this element which match the given fully qualified name. |
Iterator |
elementIterator(String name)
Returns an iterator over the elements contained in this element which match the given local name and any namespace. |
Iterator |
elementIterator(String name,
Namespace namespace)
|
List |
elements()
Returns the elements contained in this element. |
List |
elements(QName qName)
Returns the elements contained in this element with the given fully qualified name. |
List |
elements(String name)
Returns the elements contained in this element with the given local name and any namespace. |
List |
elements(String name,
Namespace namespace)
|
String |
elementText(QName qName)
|
String |
elementText(String name)
|
String |
elementTextTrim(QName qName)
|
String |
elementTextTrim(String name)
|
void |
ensureAttributesCapacity(int minCapacity)
Ensures that the list of attributes has the given size |
Object |
getData()
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 as AbstractBranch.getText() |
protected DocumentFactory |
getDocumentFactory()
|
String |
getName()
getName returns the name of this node. |
Namespace |
getNamespace()
Returns the Namespace of this element if one exists
otherwise Namespace.NO_NAMESPACE is returned. |
Namespace |
getNamespaceForPrefix(String prefix)
Returns the Namespace which is mapped to the given
prefix or null if it could not be found. |
Namespace |
getNamespaceForURI(String uri)
Returns the Namespace which is mapped to the given
URI or null if it could not be found. |
String |
getNamespacePrefix()
Returns the namespace prefix of this element if one exists otherwise an empty String is returned. |
String |
getNamespaceURI()
Returns the URI mapped to the namespace of this element if one exists otherwise an empty String is returned. |
short |
getNodeType()
Returns the code according to the type of node. |
String |
getPath(Element context)
Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c. |
QName |
getQName(String qualifiedName)
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. |
String |
getQualifiedName()
Returns the fully qualified name of this element. |
String |
getStringValue()
Returns the XPath string-value of this 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. |
String |
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(). |
Node |
getXPathResult(int index)
Returns a node at the given index suitable for an XPath result set. |
boolean |
hasMixedContent()
Returns true if this Element has mixed content. |
int |
indexOf(Node node)
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 |
isRootElement()
|
boolean |
isTextOnly()
Returns true if this Element has text only content. |
Node |
node(int index)
Returns the Node at the specified index position. |
int |
nodeCount()
Returns the number of Node instances that this branch
contains. |
Iterator |
nodeIterator()
Returns an iterator through the content nodes of this branch |
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. |
ProcessingInstruction |
processingInstruction(String target)
|
List |
processingInstructions()
Returns a list of all the processing instructions in this branch. |
List |
processingInstructions(String target)
Returns a list of the processing instructions for the given target. |
boolean |
remove(Attribute attribute)
Removes the given Attribute from this element. |
boolean |
remove(CDATA cdata)
Removes the given CDATA if the node is
an immediate child of this element. |
boolean |
remove(Comment comment)
Removes the given Comment if the node is
an immediate child of this branch. |
boolean |
remove(Element element)
Removes the given Element if the node is
an immediate child of this branch. |
boolean |
remove(Entity entity)
Removes the given Entity if the node is
an immediate child of this element. |
boolean |
remove(Namespace namespace)
Removes the given Namespace if the node is
an immediate child of this element. |
boolean |
remove(Node node)
Removes the given Node if the node is
an immediate child of this branch. |
boolean |
remove(ProcessingInstruction pi)
Removes the given ProcessingInstruction if the node is
an immediate child of this branch. |
boolean |
remove(Text text)
Removes the given Text 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 exists |
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 in SAXReader. |
void |
setAttributeValue(QName qName,
String value)
Sets the attribute value of the given fully qualified name. |
void |
setAttributeValue(String name,
String value)
Sets the attribute value of the given local name. |
void |
setData(Object data)
Sets the data value of this element if this element supports data binding or calls setText(java.lang.String) if it doesn't |
void |
setName(String name)
Sets the text data of this node or this method will throw an UnsupportedOperationException if it is
read-only. |
void |
setNamespace(Namespace namespace)
|
void |
setText(String text)
Sets the text data of this node or this method will throw an UnsupportedOperationException if it is
read-only. |
String |
toString()
|
void |
write(Writer out)
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.Element |
getQName, getText, getTextTrim, setAttributes, setQName |
| Methods inherited from interface org.dom4j.Branch |
addElement, addElement, appendContent, clearContent, content, elementByID, setContent, setProcessingInstructions |
| 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 Detail |
protected static final List EMPTY_LIST
protected static final Iterator EMPTY_ITERATOR
protected static final boolean VERBOSE_TOSTRING
protected static final boolean USE_STRINGVALUE_SEPARATOR
| Constructor Detail |
public AbstractElement()
| Method Detail |
public short getNodeType()
Node
getNodeType in interface NodegetNodeType in class AbstractNodepublic boolean isRootElement()
isRootElement in interface Elementpublic void setName(String name)
NodeSets the text data of this node or this method will
throw an UnsupportedOperationException if it is
read-only.
setName in interface NodesetName in class AbstractNodename - is the new name of this nodepublic void setNamespace(Namespace namespace)
public String getXPathNameStep()
public String getPath(Element context)
NodeReturns 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 Nodecontext - 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(Element context)
NodeReturns 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 Nodecontext - 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()
NodeasXML returns the textual XML representation of this
node.
asXML in interface Node
public void write(Writer out)
throws 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 Nodewrite in class AbstractNodeout - is the Writer to output the XML to
IOExceptionpublic void accept(Visitor visitor)
accept method is the Visitor Pattern method.
accept in interface Nodevisitor - Visitor is the visitor.public String toString()
toString in class Objectpublic Namespace getNamespace()
ElementReturns the Namespace of this element if one exists
otherwise Namespace.NO_NAMESPACE is returned.
getNamespace in interface ElementNamespace associated with this elementpublic 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 NodegetName in class AbstractNodepublic String getNamespacePrefix()
ElementReturns the namespace prefix of this element if one exists
otherwise an empty String is returned.
getNamespacePrefix in interface ElementNamespace of this element
or an empty Stringpublic String getNamespaceURI()
ElementReturns the URI mapped to the namespace of this element
if one exists otherwise an empty String is returned.
getNamespaceURI in interface ElementNamespace of this element
or an empty Stringpublic String getQualifiedName()
ElementReturns 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 form
getNamespacePrefix() + ":" + getName()will be returned.
getQualifiedName in interface Elementpublic Object getData()
ElementElement.getText()
getData in interface Elementpublic void setData(Object data)
ElementNode.setText(java.lang.String) if it doesn't
setData in interface Elementpublic Node node(int index)
BranchNode at the specified index position.
node in interface Branchnode in class AbstractBranchindex - the index of the node to return.
Node at the specified position.public int indexOf(Node node)
Branch
indexOf in interface BranchindexOf in class AbstractBranchnode - the content child node to find.
public int nodeCount()
BranchNode instances that this branch
contains.
nodeCount in interface BranchnodeCount in class AbstractBranchpublic Iterator nodeIterator()
Branch
nodeIterator in interface BranchnodeIterator in class AbstractBranchpublic Element element(String name)
Element
element in interface Elementpublic Element element(QName qName)
Element
element in interface Element
public Element element(String name,
Namespace namespace)
public List elements()
ElementReturns 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 in interface Elementpublic List elements(String name)
ElementReturns 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 in interface Elementpublic List elements(QName qName)
ElementReturns 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 in interface ElementqName - is the fully qualified name to search for
public List elements(String name,
Namespace namespace)
public Iterator elementIterator()
Element
elementIterator in interface Elementpublic Iterator elementIterator(String name)
Element
elementIterator in interface Elementpublic Iterator elementIterator(QName qName)
Element
elementIterator in interface Element
public Iterator elementIterator(String name,
Namespace namespace)
public List attributes()
ElementReturns the Attribute instances this element contains as
a backed List so that the attributes may be modified directly
using the List interface.
The List is backed by the Element so that
changes to the list are reflected in the element and vice versa.
attributes in interface ElementListpublic Iterator attributeIterator()
attributeIterator in interface Elementpublic Attribute attribute(int index)
Element
attribute in interface Elementpublic int attributeCount()
attributeCount in interface Elementpublic Attribute attribute(String name)
Element
attribute in interface Elementpublic Attribute attribute(QName qName)
attribute in interface Element
public Attribute attribute(String name,
Namespace namespace)
public void setAttributes(Attributes attributes,
NamespaceStack namespaceStack,
boolean noNamespaceAttributes)
SAXReader.
public String attributeValue(String name)
ElementThis 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 in interface Elementname - is the name of the attribute value to be returnd
public String attributeValue(QName qName)
ElementThis 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 in interface ElementqName - is the fully qualified name
public String attributeValue(String name,
String defaultValue)
ElementThis 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 in interface Elementname - is the name of the attribute value to be returnddefaultValue - is the default value to be returned if the
attribute has no value defined.
public String attributeValue(QName qName,
String defaultValue)
ElementThis returns the attribute value for the attribute with the given fully qualified name or the default value if there is no such attribute value.
attributeValue in interface ElementqName - is the fully qualified namedefaultValue - is the default value to be returned if the
attribute has no value defined.
public void setAttributeValue(String name,
String value)
ElementSets the attribute value of the given local name.
setAttributeValue in interface Elementname - is the name of the attribute whose value is to be added
or updatedvalue - is the attribute's value
public void setAttributeValue(QName qName,
String value)
ElementSets the attribute value of the given fully qualified name.
setAttributeValue in interface ElementqName - is the fully qualified name of the attribute
whose value is to be added or updatedvalue - is the attribute's valuepublic void add(Attribute attribute)
ElementAttribute to this element.
If the given node already has a parent defined then an
InvalidAddNodeException 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.
add in interface Elementattribute - is the attribute to be addedpublic boolean remove(Attribute attribute)
ElementAttribute from this element.
remove in interface Elementattribute - is the attribute to be removed
public List processingInstructions()
BranchReturns 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.
processingInstructions in interface Branchpublic List processingInstructions(String target)
BranchReturns 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.
processingInstructions in interface Branchpublic ProcessingInstruction processingInstruction(String target)
processingInstruction in interface Branchpublic boolean removeProcessingInstruction(String target)
Branch
removeProcessingInstruction in interface Branchpublic Node getXPathResult(int index)
Element
getXPathResult in interface Element
public Element addAttribute(String name,
String value)
ElementAdds 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.
addAttribute in interface Elementname - is the name of the attribute whose value is to be added
or updatedvalue - is the attribute's value
Element instance.
public Element addAttribute(QName qName,
String value)
ElementAdds 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.
addAttribute in interface ElementqName - is the fully qualified name of the attribute
whose value is to be added or updatedvalue - is the attribute's value
Element instance.