Class DefaultElement
- All Implemented Interfaces:
Serializable, Cloneable, Branch, Element, Node
- Direct Known Subclasses:
BeanElement, DOMElement, IndexedElement, UserDataElement
DefaultElement is the default DOM4J default implementation of
an XML element.
- Version:
- $Revision: 1.59 $
- Author:
- James Strachan
- See Also:
-
Field Summary
Fields inherited from class AbstractElement
USE_STRINGVALUE_SEPARATOR, VERBOSE_TOSTRINGFields inherited from class AbstractBranch
DEFAULT_CONTENT_LIST_SIZEFields inherited from class AbstractNode
NODE_TYPE_NAMESFields inherited from interface 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
ConstructorsConstructorDescriptionDefaultElement(String name) DefaultElement(String name, Namespace namespace) DefaultElement(QName qname) DefaultElement(QName qname, int attributeCount) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the givenAttributeto this element.Returns any additional namespaces declarations for this element other than namespace returned via theElement.getNamespace()method.additionalNamespaces(String defaultNamespaceURI) protected voidaddNewNode(Node node) Like addNode() but does not require a parent checkattribute(int index) Returns the attribute at the specified indexGets theReturns the attribute with the given nameDOCUMENT ME!intDOCUMENT ME!DOCUMENT ME!DOCUMENT ME!attributeList(int size) DOCUMENT ME!voidClears the content for this branch, removing anyNodeinstances this branch may contain.clone()clonewill return a deep clone or if this node is read-only then clone will return the same instance.DOCUMENT ME!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.getDocumentreturns theDocumentthat thisNodeis part of if this node supports the parent relationship.protected DocumentFactorygetNamespaceForPrefix(String prefix) Returns theNamespacewhich is mapped to the given prefix or null if it could not be found.getNamespaceForURI(String uri) Returns theNamespacewhich is mapped to the given URI or null if it could not be found.getParentreturns the parentElementif this node supports the parent relationship or null if it is the root element or does not support the parent relationship.getQName()Returns theQNameof this element which represents the local name, the qualified name and theNamespace.Returns the XPath string-value of this node.getText()Returns the text of this node.intReturns 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.node(int index) Returns theNodeat the specified index position.intReturns the number ofNodeinstances that this branch contains.Returns an iterator through the content nodes of this branchprocessingInstruction(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.booleanRemoves the givenAttributefrom this element.protected booleanremoveNode(Node node) booleanremoveProcessingInstruction(String target) Removes the processing instruction for the given target if it existsprotected voidsetAttributeList(List<Attribute> attributeList) voidsetAttributes(List<Attribute> attributes) Sets the attributes that this element containsvoidsetContent(List<Node> content) Sets the contents of this branch as aListofNodeinstances.voidsetDocument(Document document) setDocumentsets the document of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.voidsetParentsets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.voidSets theQNameof this element which represents the local name, the qualified name and theNamespace.booleansupportsParentreturns true if this node supports the parent relationship.Methods inherited from class AbstractElement
accept, add, add, add, add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addElement, addEntity, addNamespace, addNewNode, addNode, addNode, addProcessingInstruction, addProcessingInstruction, addText, appendAttributes, asXML, attributeValue, attributeValue, attributeValue, attributeValue, childAdded, childRemoved, createAttributeList, createAttributeList, createCopy, createCopy, createCopy, createElement, createElement, createSingleIterator, elementIterator, elementIterator, elementIterator, elementIterator, elements, elements, elements, elements, elementText, elementText, elementTextTrim, elementTextTrim, ensureAttributesCapacity, getData, getName, getNamespace, getNamespacePrefix, getNamespacesForURI, getNamespaceURI, getNodeType, getPath, getQName, getQualifiedName, getUniquePath, getXPathNameStep, getXPathResult, hasMixedContent, isRootElement, isTextOnly, normalize, remove, remove, remove, remove, remove, remove, remove, remove, setAttributes, setAttributeValue, setAttributeValue, setData, setName, setNamespace, setText, toString, writeMethods inherited from class AbstractBranch
addElement, addElement, addElement, appendContent, content, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getTextTrim, hasContent, invalidNodeTypeAddException, isReadOnly, setProcessingInstructionsMethods inherited from class AbstractNode
asXPathResult, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getNodeTypeName, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOfMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Branch
addElement, addElement, appendContent, content, elementByID, setProcessingInstructionsMethods inherited from interface Element
getTextTrimMethods inherited from interface Node
asXPathResult, createXPath, detach, getNodeTypeName, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
-
Constructor Details
-
DefaultElement
-
DefaultElement
-
DefaultElement
-
DefaultElement
-
-
Method Details
-
getParent
Description copied from interface:NodegetParentreturns the parentElementif this node supports the parent relationship or null if it is the root element or does not support the parent relationship.This method is an optional feature and may not be supported for all
Nodeimplementations.- Specified by:
getParentin interfaceNode- Overrides:
getParentin classAbstractNode- Returns:
- the parent of this node or null if it is the root of the tree or the parent relationship is not supported.
-
setParent
Description copied from interface:NodesetParentsets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.This method should only be called from inside an
Elementimplementation method and is not intended for general use.- Specified by:
setParentin interfaceNode- Overrides:
setParentin classAbstractNode- Parameters:
parent- is the new parent of this node.
-
getDocument
Description copied from interface:NodegetDocumentreturns theDocumentthat thisNodeis part of if this node supports the parent relationship.This method is an optional feature and may not be supported for all
Nodeimplementations.- Specified by:
getDocumentin interfaceNode- Overrides:
getDocumentin classAbstractNode- Returns:
- the document of this node or null if this feature is not
supported or the node is not associated with a
Document
-
setDocument
Description copied from interface:NodesetDocumentsets the document of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.This method should only be called from inside a
Documentimplementation method and is not intended for general use.- Specified by:
setDocumentin interfaceNode- Overrides:
setDocumentin classAbstractNode- Parameters:
document- is the new document of this node.
-
supportsParent
public boolean supportsParent()Description copied from interface:NodesupportsParentreturns true if this node supports the parent relationship.Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.
- Specified by:
supportsParentin interfaceNode- Overrides:
supportsParentin classAbstractNode- Returns:
- true if this node supports the parent relationship or false it is not supported
-
getQName
-
setQName
-
getText
-
getStringValue
Description copied from interface:NodeReturns the XPath string-value of this node. The behaviour of this method is defined in the XPath specification .- Specified by:
getStringValuein interfaceElement- Specified by:
getStringValuein interfaceNode- Overrides:
getStringValuein classAbstractElement- Returns:
- the text from all the child Text and Element nodes appended together.
-
clone
Description copied from interface:Nodeclonewill return a deep clone or if this node is read-only then clone will return the same instance.- Specified by:
clonein interfaceNode- Overrides:
clonein classAbstractNode- Returns:
- a deep clone of myself or myself if I am read only.
-
getNamespaceForPrefix
Description copied from interface:ElementReturns theNamespacewhich is mapped to the given prefix or null if it could not be found.- Specified by:
getNamespaceForPrefixin interfaceElement- Overrides:
getNamespaceForPrefixin classAbstractElement- Parameters:
prefix- DOCUMENT ME!- Returns:
- the
Namespaceassociated with the given prefix
-
getNamespaceForURI
Description copied from interface:ElementReturns theNamespacewhich is mapped to the given URI or null if it could not be found. If there is more than oneNamespacemapped to the URI, which of them will be returned is undetermined.- Specified by:
getNamespaceForURIin interfaceElement- Overrides:
getNamespaceForURIin classAbstractElement- Parameters:
uri- DOCUMENT ME!- Returns:
- the
Namespaceassociated with the given URI
-
declaredNamespaces
Description copied from interface:ElementReturns 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:
declaredNamespacesin interfaceElement- Overrides:
declaredNamespacesin classAbstractElement- Returns:
- a list of namespaces declared for this element.
-
additionalNamespaces
Description copied from interface:ElementReturns any additional namespaces declarations for this element other than namespace returned via theElement.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:
additionalNamespacesin interfaceElement- Overrides:
additionalNamespacesin classAbstractElement- Returns:
- a list of any additional namespace declarations.
-
additionalNamespaces
- Overrides:
additionalNamespacesin classAbstractElement
-
processingInstructions
Description copied from interface: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.- Specified by:
processingInstructionsin interfaceBranch- Overrides:
processingInstructionsin classAbstractElement- Returns:
- a backed list of the processing instructions
-
processingInstructions
Description copied from interface: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.- Specified by:
processingInstructionsin interfaceBranch- Overrides:
processingInstructionsin classAbstractElement- Parameters:
target- DOCUMENT ME!- Returns:
- a backed list of the processing instructions
-
processingInstruction
Description copied from interface:BranchDOCUMENT ME!- Specified by:
processingInstructionin interfaceBranch- Overrides:
processingInstructionin classAbstractElement- Parameters:
target- DOCUMENT ME!- Returns:
- the processing instruction for the given target
-
removeProcessingInstruction
Description copied from interface:BranchRemoves the processing instruction for the given target if it exists- Specified by:
removeProcessingInstructionin interfaceBranch- Overrides:
removeProcessingInstructionin classAbstractElement- Parameters:
target- DOCUMENT ME!- Returns:
- true if a processing instruction was removed else false
-
element
Description copied from interface:ElementReturns the first element for the given local name and any namespace.- Specified by:
elementin interfaceElement- Overrides:
elementin classAbstractElement- Parameters:
name- DOCUMENT ME!- Returns:
- the first element with the given local name
-
element
Description copied from interface:ElementReturns the first element for the given fully qualified name.- Specified by:
elementin interfaceElement- Overrides:
elementin classAbstractElement- Parameters:
qName- is the fully qualified name to search for- Returns:
- the first element with the given fully qualified name
-
element
- Overrides:
elementin classAbstractElement
-
setContent
-
clearContent
public void clearContent()Description copied from interface:BranchClears the content for this branch, removing anyNodeinstances this branch may contain. -
node
-
indexOf
Description copied from interface:BranchReturns 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:
indexOfin interfaceBranch- Overrides:
indexOfin classAbstractElement- 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:BranchReturns the number ofNodeinstances that this branch contains.- Specified by:
nodeCountin interfaceBranch- Overrides:
nodeCountin classAbstractElement- Returns:
- the number of nodes this branch contains
-
nodeIterator
Description copied from interface:BranchReturns an iterator through the content nodes of this branch- Specified by:
nodeIteratorin interfaceBranch- Overrides:
nodeIteratorin classAbstractElement- Returns:
- an iterator through the content nodes of this branch
-
attributes
Description copied from interface:ElementReturns theAttributeinstances this element contains as a backedListso that the attributes may be modified directly using theListinterface. TheListis backed by theElementso that changes to the list are reflected in the element and vice versa.- Specified by:
attributesin interfaceElement- Overrides:
attributesin classAbstractElement- Returns:
- the attributes that this element contains as a
List
-
setAttributes
-
attributeIterator
Description copied from interface:ElementDOCUMENT ME!- Specified by:
attributeIteratorin interfaceElement- Overrides:
attributeIteratorin classAbstractElement- Returns:
- an iterator over the attributes of this element
-
attribute
Description copied from interface:ElementReturns the attribute at the specified indexGets the- Specified by:
attributein interfaceElement- Overrides:
attributein classAbstractElement- 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:ElementDOCUMENT ME!- Specified by:
attributeCountin interfaceElement- Overrides:
attributeCountin classAbstractElement- Returns:
- the number of attributes this element contains
-
attribute
Description copied from interface:ElementReturns the attribute with the given name- Specified by:
attributein interfaceElement- Overrides:
attributein classAbstractElement- 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
Description copied from interface:ElementDOCUMENT ME!- Specified by:
attributein interfaceElement- Overrides:
attributein classAbstractElement- 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
- Overrides:
attributein classAbstractElement
-
add
Description copied from interface:ElementAdds the givenAttributeto this element. If the given node already has a parent defined then anIllegalAddExceptionwill 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.- Specified by:
addin interfaceElement- Overrides:
addin classAbstractElement- Parameters:
attribute- is the attribute to be added
-
remove
Description copied from interface:ElementRemoves the givenAttributefrom this element.- Specified by:
removein interfaceElement- Overrides:
removein classAbstractElement- Parameters:
attribute- is the attribute to be removed- Returns:
- true if the attribute was removed
-
addNewNode
Description copied from class:AbstractElementLike addNode() but does not require a parent check- Overrides:
addNewNodein classAbstractElement- Parameters:
node- DOCUMENT ME!
-
removeNode
- Overrides:
removeNodein classAbstractElement
-
contentList
Description copied from class:AbstractBranchDOCUMENT ME!- Specified by:
contentListin classAbstractBranch- Returns:
- the internal List used to manage the content
-
attributeList
Description copied from class:AbstractElementDOCUMENT ME!- Specified by:
attributeListin classAbstractElement- Returns:
- the internal List used to store attributes or creates one if one is not available
-
attributeList
Description copied from class:AbstractElementDOCUMENT ME!- Specified by:
attributeListin classAbstractElement- Parameters:
size- DOCUMENT ME!- Returns:
- the internal List used to store attributes or creates one with the specified size if one is not available
-
setAttributeList
-
getDocumentFactory
- Overrides:
getDocumentFactoryin classAbstractElement
-