org.apache.xerces.dom

## Class DeferredElementImpl

- java.lang.Object
- - org.apache.xerces.dom.NodeImpl
  - - org.apache.xerces.dom.ChildNode
    - - org.apache.xerces.dom.ParentNode
      - - org.apache.xerces.dom.ElementImpl
        - - org.apache.xerces.dom.DeferredElementImpl

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, DeferredNode, org.w3c.dom.Element, org.w3c.dom.ElementTraversal, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList, org.w3c.dom.TypeInfo

    public class DeferredElementImpl
    extends ElementImpl
    implements DeferredNode

Elements represent most of the "markup" and structure of the document. They contain both the data for the element itself (element name and attributes), and any contained nodes, including document text (as children).

Elements may have Attributes associated with them; the API for this is defined in Node, but the function is implemented here. In general, XML applications should retrive Attributes as Nodes, since they may contain entity references and hence be a fairly complex sub-tree. HTML users will be dealing with simple string values, and convenience methods are provided to work in terms of Strings.

DeferredElementImpl inherits from ElementImpl which does not support Namespaces. DeferredElementNSImpl, which inherits from ElementNSImpl, does.

Since:
  PR-DOM-Level-1-19980818.
Version:
  $Id: DeferredElementImpl.java 447266 2006-09-18 05:57:49Z mrglavas $
See Also:
  `DeferredElementNSImpl`, Serialized Form

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Field Summary

Fields
`protected int` `fNodeIndex` Node index.

### Fields inherited from class org.apache.xerces.dom.ElementImpl

`attributes, name`

### Fields inherited from class org.apache.xerces.dom.ParentNode

`firstChild, fNodeListCache, ownerDocument`

### Fields inherited from class org.apache.xerces.dom.ChildNode

`nextSibling, previousSibling`

### Fields inherited from class org.apache.xerces.dom.NodeImpl

`DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE`

### Fields inherited from interface org.apache.xerces.dom.DeferredNode

`TYPE_NODE`

### Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

### Fields inherited from interface org.w3c.dom.TypeInfo

`DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getNodeIndex()` Returns the node index.
`protected void` `synchronizeChildren()` Override this method in subclass to hook in efficient internal data structure.
`protected void` `synchronizeData()` Synchronizes the data (name and value) for fast nodes.

### Methods inherited from class org.apache.xerces.dom.ElementImpl

`cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getChildElementCount, getDefaultAttributes, getElementsByTagName, getElementsByTagNameNS, getFirstElementChild, getLastElementChild, getNextElementSibling, getNodeName, getNodeType, getPreviousElementSibling, getSchemaTypeInfo, getTagName, getTypeName, getTypeNamespace, getXercesAttribute, getXMLBaseAttribute, hasAttribute, hasAttributeNS, hasAttributes, isDerivedFrom, isEqualNode, normalize, reconcileDefaultAttributes, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setOwnerDocument, setReadOnly, setupDefaultAttributes, setXercesAttributeNode`

### Methods inherited from class org.apache.xerces.dom.ParentNode

`getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, getOwnerDocument, getTextContent, hasChildNodes, insertBefore, item, removeChild, replaceChild, setTextContent`

### Methods inherited from class org.apache.xerces.dom.ChildNode

`getNextSibling, getParentNode, getPreviousSibling`

### Methods inherited from class org.apache.xerces.dom.NodeImpl

`addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getContainer, getFeature, getLocalName, getNamespaceURI, getNodeNumber, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, getUserDataRecord, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.w3c.dom.Node

`appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

### Field Detail

#### fNodeIndex

    protected transient int fNodeIndex

Node index.

### Method Detail

#### getNodeIndex

    public final int getNodeIndex()

Returns the node index.

Specified by:
  `getNodeIndex` in interface `DeferredNode`

#### synchronizeData

    protected final void synchronizeData()

Synchronizes the data (name and value) for fast nodes.

Overrides:
  `synchronizeData` in class `ElementImpl`

#### synchronizeChildren

    protected final void synchronizeChildren()

Description copied from class: `ParentNode`
Override this method in subclass to hook in efficient internal data structure.

Overrides:
  `synchronizeChildren` in class `ParentNode`