org.apache.xerces.dom
Class DeferredAttrImpl
java.lang.Object
|
+--org.apache.xerces.dom.NodeImpl
|
+--org.apache.xerces.dom.AttrImpl
|
+--org.apache.xerces.dom.DeferredAttrImpl
- All Implemented Interfaces:
- Attr, java.lang.Cloneable, DeferredNode, EventTarget, Node, NodeList, java.io.Serializable
- public final class DeferredAttrImpl
- extends AttrImpl
- implements DeferredNode
Attribute represents an XML-style attribute of an
Element. Typically, the allowable values are controlled by its
declaration in the Document Type Definition (DTD) governing this
kind of document.
If the attribute has not been explicitly assigned a value, but has
been declared in the DTD, it will exist and have that default. Only
if neither the document nor the DTD specifies a value will the
Attribute really be considered absent and have no value; in that
case, querying the attribute will return null.
Attributes may have multiple children that contain their data. (XML
allows attributes to contain entity references, and tokenized
attribute types such as NMTOKENS may have a child for each token.)
For convenience, the Attribute object's getValue() method returns
the string version of the attribute's value.
Attributes are not children of the Elements they belong to, in the
usual sense, and have no valid Parent reference. However, the spec
says they _do_ belong to a specific Element, and an INUSE exception
is to be thrown if the user attempts to explicitly share them
between elements.
Note that Elements do not permit attributes to appear to be shared
(see the INUSE exception), so this object's mutability is
officially not an issue.
DeferredAttrImpl inherits from AttrImpl which does not support
Namespaces. DeferredAttrNSImpl, which inherits from AttrNSImpl, does.
- Since:
- PR-DOM-Level-1-19980818.
- Version:
-
- Author:
- Andy Clark, IBM, Arnaud Le Hors, IBM
- See Also:
DeferredAttrNSImpl
, Serialized Form
Field Summary |
protected int |
fNodeIndex
Node index. |
Fields inherited from class org.apache.xerces.dom.NodeImpl |
ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, IGNORABLEWS, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, UNNORMALIZED |
Fields inherited from interface org.w3c.dom.Node |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
Method Summary |
int |
getNodeIndex()
Returns the node index. |
protected void |
synchronizeChildren()
Synchronizes the node's children with the internal structure. |
protected void |
synchronizeData()
Synchronizes the data (name and value) for fast nodes. |
Methods inherited from class org.apache.xerces.dom.AttrImpl |
cloneNode, getChildNodes, getElement, getFirstChild, getLastChild, getLength, getName, getNodeName, getNodeType, getNodeValue, getOwnerElement, getSpecified, getValue, hasChildNodes, insertBefore, item, makeChildNode, normalize, removeChild, replaceChild, setNodeValue, setReadOnly, setSpecified, setValue, toString |
Methods inherited from class org.apache.xerces.dom.NodeImpl |
addEventListener, appendChild, changed, changes, dispatchEvent, getAttributes, getLocalName, getNamespaceURI, getNextSibling, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getReadOnly, getUserData, hasAttributes, isSupported, removeEventListener, setPrefix, setUserData |
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, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix |
fNodeIndex
protected transient int fNodeIndex
- Node index.
getNodeIndex
public int getNodeIndex()
- Returns the node index.
- Specified by:
getNodeIndex
in interface DeferredNode
synchronizeData
protected void synchronizeData()
- Synchronizes the data (name and value) for fast nodes.
- Overrides:
synchronizeData
in class NodeImpl
synchronizeChildren
protected void synchronizeChildren()
- Synchronizes the node's children with the internal structure.
Fluffing the children at once solves a lot of work to keep
the two structures in sync. The problem gets worse when
editing the tree -- this makes it a lot easier.
- Overrides:
synchronizeChildren
in class AttrImpl
Copyright © 1999-2001 Apache XML Project. All Rights Reserved.