Package org.dom4j.util
Class IndexedElement
- java.lang.Object
-
- org.dom4j.tree.AbstractNode
-
- org.dom4j.tree.AbstractBranch
-
- org.dom4j.tree.AbstractElement
-
- org.dom4j.tree.DefaultElement
-
- org.dom4j.util.IndexedElement
-
public class IndexedElement extends DefaultElement
IndexedElement
is an implementation ofElement
which maintains an index of the attributes and elements it contains to optimise lookups via name.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.dom4j.tree.AbstractElement
USE_STRINGVALUE_SEPARATOR, 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
Constructors Constructor Description IndexedElement(java.lang.String name)
IndexedElement(QName qname)
IndexedElement(QName qname, int attributeCount)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addNode(Node node)
protected void
addToAttributeIndex(java.lang.Object key, Attribute value)
protected void
addToAttributeIndex(Attribute attribute)
protected void
addToElementIndex(java.lang.Object key, Element value)
protected void
addToElementIndex(Element element)
protected Element
asElement(java.lang.Object object)
protected java.util.Iterator<Element>
asElementIterator(java.lang.Object object)
Deprecated.WILL BE REMOVED IN dom4j-1.6 !!protected java.util.List<Element>
asElementList(java.lang.Object object)
Attribute
attribute(java.lang.String name)
Returns the attribute with the given nameAttribute
attribute(QName qName)
DOCUMENT ME!protected java.util.Map<java.lang.Object,Attribute>
attributeIndex()
protected java.util.Map<java.lang.Object,Attribute>
createAttributeIndex()
A Factory Method to create the index for attributesprotected java.util.Map<java.lang.Object,java.lang.Object>
createElementIndex()
A Factory Method to create the index for elementsprotected <T> java.util.Map<java.lang.Object,T>
createIndex()
Factory method to return a new map implementation for indicesprotected <T extends Node>
java.util.List<T>createList()
Factory method to return a list implementation for indicesElement
element(java.lang.String name)
Returns the first element for the given local name and any namespace.Element
element(QName qName)
Returns the first element for the given fully qualified name.protected java.util.Map<java.lang.Object,java.lang.Object>
elementIndex()
java.util.List<Element>
elements(java.lang.String name)
Returns the elements contained in this element with the given local name and any namespace.java.util.List<Element>
elements(QName qName)
Returns the elements contained in this element with the given fully qualified name.protected void
removeFromAttributeIndex(java.lang.Object key, Attribute value)
protected void
removeFromAttributeIndex(Attribute attribute)
protected void
removeFromElementIndex(java.lang.Object key, Element value)
protected void
removeFromElementIndex(Element element)
protected boolean
removeNode(Node node)
-
Methods inherited from class org.dom4j.tree.DefaultElement
add, additionalNamespaces, additionalNamespaces, addNewNode, attribute, attribute, attributeCount, attributeIterator, attributeList, attributeList, attributes, clearContent, clone, contentList, declaredNamespaces, element, getDocument, getDocumentFactory, getNamespaceForPrefix, getNamespaceForURI, getParent, getQName, getStringValue, getText, indexOf, node, nodeCount, nodeIterator, processingInstruction, processingInstructions, processingInstructions, remove, removeProcessingInstruction, setAttributeList, setAttributes, setContent, setDocument, setParent, setQName, supportsParent
-
Methods inherited from class org.dom4j.tree.AbstractElement
accept, add, add, add, add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addElement, addEntity, addNamespace, addNewNode, addNode, addProcessingInstruction, addProcessingInstruction, addText, appendAttributes, asXML, attributeValue, attributeValue, attributeValue, attributeValue, createAttributeList, createAttributeList, createCopy, createCopy, createCopy, createElement, createElement, createSingleIterator, elementIterator, elementIterator, elementIterator, elementIterator, elements, elements, elementText, elementText, elementTextTrim, elementTextTrim, ensureAttributesCapacity, getData, getName, getNamespace, getNamespacePrefix, getNamespacesForURI, getNamespaceURI, getNodeType, getPath, getQName, getQualifiedName, getUniquePath, getXPathNameStep, getXPathResult, hasMixedContent, childAdded, childRemoved, isRootElement, isTextOnly, normalize, remove, remove, remove, remove, remove, remove, remove, remove, setAttributes, setAttributeValue, setAttributeValue, setData, setName, setNamespace, setText, toString, write
-
Methods inherited from class org.dom4j.tree.AbstractBranch
addElement, addElement, addElement, appendContent, content, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getTextTrim, hasContent, invalidNodeTypeAddException, isReadOnly, setProcessingInstructions
-
Methods inherited from class org.dom4j.tree.AbstractNode
asXPathResult, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getNodeTypeName, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.dom4j.Branch
addElement, addElement, appendContent, content, elementByID, setProcessingInstructions
-
Methods inherited from interface org.dom4j.Element
getTextTrim
-
Methods inherited from interface org.dom4j.Node
asXPathResult, createXPath, detach, getNodeTypeName, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
-
-
-
-
Method Detail
-
attribute
public Attribute attribute(java.lang.String name)
Description copied from interface:Element
Returns the attribute with the given name- Specified by:
attribute
in interfaceElement
- Overrides:
attribute
in classDefaultElement
- 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!- Specified by:
attribute
in interfaceElement
- Overrides:
attribute
in classDefaultElement
- Parameters:
qName
- is the fully qualified name- Returns:
- the attribute for the given fully qualified name or null if it could not be found.
-
element
public Element element(java.lang.String name)
Description copied from interface:Element
Returns the first element for the given local name and any namespace.- Specified by:
element
in interfaceElement
- Overrides:
element
in classDefaultElement
- 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.- Specified by:
element
in interfaceElement
- Overrides:
element
in classDefaultElement
- Parameters:
qName
- is the fully qualified name to search for- Returns:
- the first element with the given fully qualified name
-
elements
public java.util.List<Element> elements(java.lang.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.- Specified by:
elements
in interfaceElement
- Overrides:
elements
in classAbstractElement
- Parameters:
name
- DOCUMENT ME!- Returns:
- a list of all the elements in this element for the given local name
-
elements
public java.util.List<Element> 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.- Specified by:
elements
in interfaceElement
- Overrides:
elements
in classAbstractElement
- 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.
-
asElement
protected Element asElement(java.lang.Object object)
-
asElementList
protected java.util.List<Element> asElementList(java.lang.Object object)
-
asElementIterator
protected java.util.Iterator<Element> asElementIterator(java.lang.Object object)
Deprecated.WILL BE REMOVED IN dom4j-1.6 !!DOCUMENT ME!- Parameters:
object
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
addNode
protected void addNode(Node node)
- Overrides:
addNode
in classAbstractElement
-
removeNode
protected boolean removeNode(Node node)
- Overrides:
removeNode
in classDefaultElement
-
attributeIndex
protected java.util.Map<java.lang.Object,Attribute> attributeIndex()
-
elementIndex
protected java.util.Map<java.lang.Object,java.lang.Object> elementIndex()
-
createAttributeIndex
protected java.util.Map<java.lang.Object,Attribute> createAttributeIndex()
A Factory Method to create the index for attributes- Returns:
- DOCUMENT ME!
-
createElementIndex
protected java.util.Map<java.lang.Object,java.lang.Object> createElementIndex()
A Factory Method to create the index for elements- Returns:
- DOCUMENT ME!
-
addToElementIndex
protected void addToElementIndex(Element element)
-
addToElementIndex
protected void addToElementIndex(java.lang.Object key, Element value)
-
removeFromElementIndex
protected void removeFromElementIndex(Element element)
-
removeFromElementIndex
protected void removeFromElementIndex(java.lang.Object key, Element value)
-
addToAttributeIndex
protected void addToAttributeIndex(Attribute attribute)
-
addToAttributeIndex
protected void addToAttributeIndex(java.lang.Object key, Attribute value)
-
removeFromAttributeIndex
protected void removeFromAttributeIndex(Attribute attribute)
-
removeFromAttributeIndex
protected void removeFromAttributeIndex(java.lang.Object key, Attribute value)
-
createIndex
protected <T> java.util.Map<java.lang.Object,T> createIndex()
Factory method to return a new map implementation for indices- Type Parameters:
T
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
createList
protected <T extends Node> java.util.List<T> createList()
Factory method to return a list implementation for indices- Type Parameters:
T
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
-