|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.dom4j.tree Class AbstractElement
java.lang.Object org.dom4j.tree.AbstractNode org.dom4j.tree.AbstractBranch org.dom4j.tree.AbstractElement
- All Implemented Interfaces:
- Branch, Cloneable, Element, Node, Serializable
- Direct Known Subclasses:
- BaseElement, DefaultElement
- public abstract class AbstractElement
- extends AbstractBranch
- implements Element
AbstractElement
is an abstract base class for tree
implementors to use for implementation inheritence.
- Version:
- $Revision: 1.80 $
- Author:
- James Strachan
- See Also:
- Serialized Form
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 |
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(int index,
Node node)
|
protected void |
addNewNode(Node node)
Like addNode() but does not require a parent check |
protected void |
addNode(int index,
Node node)
|
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)
DOCUMENT ME! |
Attribute |
attribute(String name)
Returns the attribute with the given name |
Attribute |
attribute(String name,
Namespace namespace)
|
int |
attributeCount()
DOCUMENT ME! |
Iterator |
attributeIterator()
DOCUMENT ME! |
protected abstract List |
attributeList()
DOCUMENT ME! |
protected abstract List |
attributeList(int attributeCount)
DOCUMENT ME! |
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 ns)
|
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.
|
List |
getNamespacesForURI(String uri)
Returns the all namespaces which are mapped to the given URI or an empty list if no such namespaces could be found. |
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()
DOCUMENT ME! |
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)
DOCUMENT ME! |
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)
Deprecated. As of version 0.5. Please use addAttribute(String,String) instead. WILL BE REMOVED IN
dom4j-1.6 !! |
void |
setAttributeValue(String name,
String value)
Deprecated. As of version 0.5. Please use addAttribute(String,String) instead. WILL BE REMOVED IN
dom4j-1.6 !! |
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 |
EMPTY_LIST
protected static final List EMPTY_LIST
EMPTY_ITERATOR
protected static final Iterator EMPTY_ITERATOR
VERBOSE_TOSTRING
protected static final boolean VERBOSE_TOSTRING
- See Also:
- Constant Field Values
USE_STRINGVALUE_SEPARATOR
protected static final boolean USE_STRINGVALUE_SEPARATOR
- See Also:
- Constant Field Values
Constructor Detail |
AbstractElement
public AbstractElement()
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:
getNodeType
in interfaceNode
- Overrides:
getNodeType
in classAbstractNode
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
public void setName(String name)
- 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
setNamespace
public void setNamespace(Namespace namespace)
getXPathNameStep
public 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().
- Returns:
- DOCUMENT ME!
getPath
public String getPath(Element context)
- 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.
- 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
public String getUniquePath(Element context)
- 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
public String asXML()
- Description copied from interface:
Node
asXML
returns the textual XML representation of this node.- Returns:
- the XML representation of this node
write
public void write(Writer out) throws IOException
- 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
- Throws:
IOException
accept
public void accept(Visitor visitor)
accept
method is theVisitor Pattern
method.- Parameters:
visitor
-Visitor
is the visitor.
toString
public String toString()
getNamespace
public Namespace 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
public String 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
getNamespacePrefix
public String 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
public String 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
public String 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
public Object 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 as
Element.getText()
- Returns:
- DOCUMENT ME!
setData
public void setData(Object data)
- Description copied from interface:
Element
- Sets the data value of this element if this element supports data binding
or calls
Node.setText(java.lang.String)
if it doesn't - Parameters:
data
- DOCUMENT ME!
node
public Node node(int index)
- Description copied from interface:
Branch
- Returns the
Node
at the specified index position. - Specified by:
node
in interfaceBranch
- Overrides:
node
in classAbstractBranch
indexOf
public int indexOf(Node node)
- 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
nodeCount
public int nodeCount()
- Description copied from interface:
Branch
- Returns the number of
Node
instances that this branch contains. - Specified by:
nodeCount
in interfaceBranch
- Overrides:
nodeCount
in classAbstractBranch
nodeIterator
public Iterator 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
element
public Element element(String name)
- Description copied from interface:
Element
- Returns the first element for the given local name and any namespace.
- Parameters:
name
- DOCUMENT ME!- Returns:
- the first element with the given local name
element
public Element element(QName qName)
- Description copied from interface:
Element
- Returns the first element for the given fully qualified name.
- Parameters:
qName
- is the fully qualified name to search for- Returns:
- the first element with the given fully qualified name
element
public Element element(String name, Namespace namespace)
elements
public List 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.
- Returns:
- a list of all the elements in this element.
elements
public List elements(String name)
- 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.
- Parameters:
name
- DOCUMENT ME!- Returns:
- a list of all the elements in this element for the given local name
elements
public List elements(QName qName)
- 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.
- Parameters:
qName
- is the fully qualified name to search for- Returns:
- a list of all the elements in this element for the given fully qualified name.
elements
public List elements(String name, Namespace namespace)
elementIterator
public Iterator 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
public Iterator elementIterator(String name)
- 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
public Iterator elementIterator(QName qName)
- 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
public Iterator elementIterator(String name, Namespace ns)
attributes
public List 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
public Iterator attributeIterator()
- Description copied from interface:
Element
- DOCUMENT ME!
- Specified by:
attributeIterator
in interfaceElement
- Returns:
- an iterator over the attributes of this element
attribute
public Attribute attribute(int index)
- Description copied from interface:
Element
- Returns the attribute at the specified indexGets the
- Parameters:
index
- DOCUMENT ME!- Returns:
- the attribute at the specified index where index >= 0 and index < number of attributes or throws an IndexOutOfBoundsException if the index is not within the allowable range
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
public Attribute attribute(String name)
- Description copied from interface:
Element
- Returns the attribute with the given name
- Parameters:
name
- DOCUMENT ME!- Returns:
- the attribute for the given local name in any namespace. If there are more than one attributes with the given local name in different namespaces then the first one is returned.
attribute
public Attribute attribute(QName qName)
- Description copied from interface:
Element
- DOCUMENT ME!
- Parameters:
qName
- is the fully qualified name- Returns:
- the attribute for the given fully qualified name or null if it could not be found.
attribute
public Attribute attribute(String name, Namespace namespace)
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 in
SAXReader
. - Parameters:
attributes
- DOCUMENT ME!namespaceStack
- DOCUMENT ME!noNamespaceAttributes
- DOCUMENT ME!
attributeValue
public String attributeValue(String name)
- 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
public String attributeValue(QName qName)
- 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
public String attributeValue(String name, String defaultValue)
- 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
public String attributeValue(QName qName, String defaultValue)
- 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
public void setAttributeValue(String name, String value)
- Deprecated. As of version 0.5. Please use
addAttribute(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
public void setAttributeValue(QName qName, String value)
- Deprecated. As of version 0.5. Please use
addAttribute(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
public void add(Attribute attribute)
- Description copied from interface:
Element
- Adds the given
Attribute
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.
- Parameters:
attribute
- is the attribute to be added
remove
public boolean remove(Attribute attribute)
- Description copied from interface:
Element
- Removes the given
Attribute
from this element. - Parameters:
attribute
- is the attribute to be removed- Returns:
- true if the attribute was removed
processingInstructions
public List 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
public List processingInstructions(String target)
- 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
public ProcessingInstruction processingInstruction(String target)
- 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
public boolean removeProcessingInstruction(String target)
- 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
public Node getXPathResult(int index)
- 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
public Element addAttribute(String name, String value)
- 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
public Element addAttribute(QName qName, String value)
- 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
public Element addCDATA(String cdata)
- Description copied from interface:
Element
- Adds a new
CDATA
node with the given text to this element. - Parameters:
cdata
- is the text for theCDATA
node.- Returns:
- this
Element
instance.
addComment
public Element addComment(String comment)
- Description copied from interface:
Element
- Adds a new
Comment
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
public Element addElement(String name)
- Description copied from interface:
Branch
- Adds a new
Element
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
addEntity
public Element addEntity(String name, String text)
- Description copied from interface:
Element
- Adds a new
Entity
node with the given name and text to this element and returns a reference to the new node. - Parameters:
name
- is the name for theEntity
node.text
- is the text for theEntity
node.- Returns:
- this
Element
instance.
addNamespace
public Element addNamespace(String prefix, String uri)
- 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
public Element addProcessingInstruction(String target, String data)
- 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
public Element addProcessingInstruction(String target, Map data)
- 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
public Element addText(String text)
- Description copied from interface:
Element
- Adds a new
Text
node with the given text to this element. - Parameters:
text
- is the text for theText
node.- Returns:
- this
Element
instance.
add
public void add(Node node)
- Description copied from interface:
Branch
- Adds the given
Node
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
remove
public boolean remove(Node node)
- Description copied from interface:
Branch
- Removes the given
Node
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
add
public void add(CDATA cdata)
- Description copied from interface:
Element
- Adds the given
CDATA
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
cdata
- is the CDATA to be added
add
public void add(Comment comment)
- Description copied from interface:
Branch
- Adds the given
Comment
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
add
public void add(Element element)
- Description copied from interface:
Branch
- Adds the given
Element
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
add
public void add(Entity entity)
- Description copied from interface:
Element
- Adds the given
Entity
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
entity
- is the entity to be added
add
public void add(Namespace namespace)
- Description copied from interface:
Element
- Adds the given
Namespace
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
namespace
- is the namespace to be added
add
public void add(ProcessingInstruction pi)
- Description copied from interface:
Branch
- Adds the given
ProcessingInstruction
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
add
public void add(Text text)
- Description copied from interface:
Element
- Adds the given
Text
to this element. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
text
- is the text to be added
remove
public boolean remove(CDATA cdata)
- Description copied from interface:
Element
- Removes the given
CDATA
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. - Parameters:
cdata
- is the CDATA to be removed- Returns:
- true if the cdata was removed
remove
public boolean remove(Comment comment)
- Description copied from interface:
Branch
- Removes the given
Comment
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
remove
public boolean remove(Element element)
- Description copied from interface:
Branch
- Removes the given
Element
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
remove
public boolean remove(Entity entity)
- Description copied from interface:
Element
- Removes the given
Entity
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. - Parameters:
entity
- is the entity to be removed- Returns:
- true if the entity was removed
remove
public boolean remove(Namespace namespace)
- Description copied from interface:
Element
- Removes the given
Namespace
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. - Parameters:
namespace
- is the namespace to be removed- Returns:
- true if the namespace was removed
remove
public boolean remove(ProcessingInstruction pi)
- Description copied from interface:
Branch
- Removes the given
ProcessingInstruction
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
remove
public boolean remove(Text text)
- Description copied from interface:
Element
- Removes the given
Text
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. - Parameters:
text
- is the text to be removed- Returns:
- true if the text was removed
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
public void setText(String text)
- 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
getStringValue
public String getStringValue()
- Description copied from interface:
Element
- Returns the XPath string-value of this node. The behaviour of this method
is defined in the XPath
specification . This method returns the string-value of all the
contained
Text
,CDATA
,Entity
andElement
nodes all appended together. - Specified by:
getStringValue
in interfaceElement
- Overrides:
getStringValue
in classAbstractNode
normalize
public void normalize()
- Puts all
Text
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. - Since:
- DOM Level 2
elementText
public String elementText(String name)
- Specified by:
elementText
in interfaceElement
elementText
public String elementText(QName qName)
- Specified by:
elementText
in interfaceElement
elementTextTrim
public String elementTextTrim(String name)
- Specified by:
elementTextTrim
in interfaceElement
elementTextTrim
public String elementTextTrim(QName qName)
- Specified by:
elementTextTrim
in interfaceElement
appendAttributes
public void appendAttributes(Element element)
- Description copied from interface:
Element
- Appends the attributes of the given element to me. This method behaves
like the
Collection.addAll(java.util.Collection)
method. - Specified by:
appendAttributes
in interfaceElement
- Parameters:
element
- is the element whose attributes will be added to me.
createCopy
public Element 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
public Element createCopy(String name)
- 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
public Element createCopy(QName qName)
- 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
public QName getQName(String qualifiedName)
- 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.- Parameters:
qualifiedName
- DOCUMENT ME!- Returns:
- the
QName
for the given qualified name
getNamespaceForPrefix
public Namespace getNamespaceForPrefix(String prefix)
- 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
public Namespace getNamespaceForURI(String uri)
- 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
public List getNamespacesForURI(String uri)
- 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
public List 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
public List 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
public List additionalNamespaces(String defaultNamespaceURI)
ensureAttributesCapacity
public void ensureAttributesCapacity(int minCapacity)
- Ensures that the list of attributes has the given size
- Parameters:
minCapacity
- DOCUMENT ME!
createElement
protected Element createElement(String name)
createElement
protected Element createElement(QName qName)
addNode
protected void addNode(Node node)
- Specified by:
addNode
in classAbstractBranch
addNode
protected void addNode(int index, Node node)
- Specified by:
addNode
in classAbstractBranch
addNewNode
protected void addNewNode(Node node)
- Like addNode() but does not require a parent check
- Parameters:
node
- DOCUMENT ME!
addNewNode
protected void addNewNode(int index, Node node)
removeNode
protected boolean removeNode(Node node)
- Specified by:
removeNode
in classAbstractBranch
childAdded
protected void childAdded(Node node)
- Called when a new child node is added to create any parent relationships
- Specified by:
childAdded
in classAbstractBranch
- Parameters:
node
- DOCUMENT ME!
childRemoved
protected void childRemoved(Node node)
- 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
protected abstract List attributeList()
- DOCUMENT ME!
- Returns:
- the internal List used to store attributes or creates one if one is not available
attributeList
protected abstract List attributeList(int attributeCount)
- 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
protected DocumentFactory getDocumentFactory()
- Overrides:
getDocumentFactory
in classAbstractNode
createAttributeList
protected List createAttributeList()
- A Factory Method pattern which creates a List implementation used to
store attributes
- Returns:
- DOCUMENT ME!
createAttributeList
protected List createAttributeList(int size)
- A Factory Method pattern which creates a List implementation used to
store attributes
- Parameters:
size
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
createSingleIterator
protected Iterator createSingleIterator(Object result)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.