public class DeferredDocumentImpl extends DocumentImpl implements DeferredNode
Since elements, text nodes, comments, processing instructions, etc. cannot exist outside the context of a Document, the Document interface also contains the factory methods needed to create these objects. The Node objects created have a ownerDocument attribute which associates them with the Document within whose context they were created.
Modifier and Type | Field and Description |
---|---|
protected static int |
CHUNK_MASK
Chunk mask.
|
protected static int |
CHUNK_SHIFT
Chunk shift.
|
protected static int |
CHUNK_SIZE
Chunk size.
|
protected int |
fIdCount
Identifier count.
|
protected int[] |
fIdElement
Identifier element indexes.
|
protected java.lang.String[] |
fIdName
Identifier name indexes.
|
protected boolean |
fNamespacesEnabled
DOM2: For namespace support in the deferred case.
|
protected int |
fNodeCount
Node count.
|
protected int[][] |
fNodeExtra
Extra data.
|
protected int[][] |
fNodeLastChild
Node first children.
|
protected java.lang.Object[][] |
fNodeName
Node names.
|
protected int[][] |
fNodeParent
Node parents.
|
protected int[][] |
fNodePrevSib
Node prev siblings.
|
protected int[][] |
fNodeType
Node types.
|
protected java.lang.Object[][] |
fNodeURI
Node namespace URI.
|
protected java.lang.Object[][] |
fNodeValue
Node values.
|
protected static int |
INITIAL_CHUNK_COUNT
Initial chunk size.
|
eventListeners, iteratorReferenceQueue, iterators, mutationEvents, rangeReferenceQueue, ranges
actualEncoding, allowGrammarAccess, changes, docElement, docType, encoding, errorChecking, fDocumentURI, identifiers, standalone, userData, version, xmlVersionChanged
firstChild, fNodeListCache, ownerDocument
nextSibling, previousSibling
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
TYPE_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
Constructor and Description |
---|
DeferredDocumentImpl()
NON-DOM: Actually creating a Document is outside the DOM's spec,
since it has to operate in terms of a particular implementation.
|
DeferredDocumentImpl(boolean namespacesEnabled)
NON-DOM: Actually creating a Document is outside the DOM's spec,
since it has to operate in terms of a particular implementation.
|
DeferredDocumentImpl(boolean namespaces,
boolean grammarAccess)
Experimental constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
appendChild(int parentIndex,
int childIndex)
Appends a child to the specified parent in the table.
|
protected static int |
binarySearch(int[] values,
int start,
int end,
int target)
Performs a binary search for a target value in an array of
values.
|
int |
cloneNode(int nodeIndex,
boolean deep)
Creates a clone of the specified node.
|
int |
createDeferredAttribute(java.lang.String attrName,
java.lang.String attrValue,
boolean specified)
Creates an attribute in the table.
|
int |
createDeferredAttribute(java.lang.String attrName,
java.lang.String attrURI,
java.lang.String attrValue,
boolean specified)
Creates an attribute with a URI in the table.
|
int |
createDeferredCDATASection(java.lang.String data)
Creates a CDATA section node in the table.
|
int |
createDeferredComment(java.lang.String data)
Creates a comment node in the table.
|
int |
createDeferredDocument()
Creates a document node in the table.
|
int |
createDeferredDocumentType(java.lang.String rootElementName,
java.lang.String publicId,
java.lang.String systemId)
Creates a doctype.
|
int |
createDeferredElement(java.lang.String elementName)
Deprecated.
|
int |
createDeferredElement(java.lang.String elementURI,
java.lang.String elementName)
Creates an element node with a URI in the table.
|
int |
createDeferredElement(java.lang.String elementURI,
java.lang.String elementName,
java.lang.Object type)
Deprecated.
|
int |
createDeferredElementDefinition(java.lang.String elementName)
Creates an element definition in the table.
|
int |
createDeferredEntity(java.lang.String entityName,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notationName,
java.lang.String baseURI)
Creates an entity in the table.
|
int |
createDeferredEntityReference(java.lang.String name,
java.lang.String baseURI)
Creates an entity reference node in the table.
|
int |
createDeferredNotation(java.lang.String notationName,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String baseURI)
Creates a notation in the table.
|
int |
createDeferredProcessingInstruction(java.lang.String target,
java.lang.String data)
Creates a processing instruction node in the table.
|
int |
createDeferredTextNode(java.lang.String data,
boolean ignorableWhitespace)
Creates a text node in the table.
|
protected int |
createNode(short nodeType)
Creates a node of the specified type.
|
protected void |
ensureCapacity(int chunk)
Ensures that the internal tables are large enough.
|
java.lang.String |
getAttribute(int elemIndex,
java.lang.String name)
Returns the attribute value of the given name.
|
java.lang.String |
getDeferredEntityBaseURI(int entityIndex) |
org.w3c.dom.DOMImplementation |
getImplementation()
Retrieve information describing the abilities of this particular
DOM implementation.
|
int |
getLastChild(int nodeIndex)
Returns the last child of the given node.
|
int |
getLastChild(int nodeIndex,
boolean free)
Returns the last child of the given node.
|
int |
getNodeExtra(int nodeIndex)
Returns the extra info of the given node.
|
int |
getNodeExtra(int nodeIndex,
boolean free)
Returns the extra info of the given node.
|
int |
getNodeIndex()
Returns the node index.
|
java.lang.String |
getNodeName(int nodeIndex)
Returns the name of the given node.
|
java.lang.String |
getNodeName(int nodeIndex,
boolean free)
Returns the name of the given node.
|
DeferredNode |
getNodeObject(int nodeIndex)
Instantiates the requested node object.
|
short |
getNodeType(int nodeIndex)
Returns the type of the given node.
|
short |
getNodeType(int nodeIndex,
boolean free)
Returns the type of the given node.
|
java.lang.String |
getNodeURI(int nodeIndex)
Returns the URI of the given node.
|
java.lang.String |
getNodeURI(int nodeIndex,
boolean free)
Returns the URI of the given node.
|
java.lang.String |
getNodeValue(int nodeIndex)
Returns the value of the given node.
|
java.lang.String |
getNodeValue(int nodeIndex,
boolean free)
Returns the value of the given node.
|
java.lang.String |
getNodeValueString(int nodeIndex)
Returns the real value of the given node.
|
java.lang.String |
getNodeValueString(int nodeIndex,
boolean free)
Returns the real value of the given node.
|
int |
getParentNode(int nodeIndex)
Returns the parent node of the given node.
|
int |
getParentNode(int nodeIndex,
boolean free)
Returns the parent node of the given node.
|
int |
getPrevSibling(int nodeIndex)
Returns the prev sibling of the given node.
|
int |
getPrevSibling(int nodeIndex,
boolean free)
Returns the prev sibling of the given node.
|
int |
getRealPrevSibling(int nodeIndex)
Returns the real prev sibling of the given node,
directly from the data structures.
|
int |
getRealPrevSibling(int nodeIndex,
boolean free)
Returns the real prev sibling of the given node.
|
java.lang.Object |
getTypeInfo(int nodeIndex)
Clears the type info that is stored in the fNodeValue array
|
int |
insertBefore(int parentIndex,
int newChildIndex,
int refChildIndex)
Inserts a child before the specified node in the table.
|
int |
lookupElementDefinition(java.lang.String elementName)
Returns the index of the element definition in the table
with the specified name index, or -1 if no such definition
exists.
|
void |
print()
Prints out the tables.
|
void |
putIdentifier(java.lang.String name,
int elementNodeIndex)
Registers an identifier name with a specified element node.
|
void |
setAsLastChild(int parentIndex,
int childIndex)
Sets the last child of the parentIndex to childIndex.
|
int |
setAttributeNode(int elemIndex,
int attrIndex)
Adds an attribute node to the specified element.
|
int |
setDeferredAttribute(int elementNodeIndex,
java.lang.String attrName,
java.lang.String attrURI,
java.lang.String attrValue,
boolean specified)
Deprecated.
|
int |
setDeferredAttribute(int elementNodeIndex,
java.lang.String attrName,
java.lang.String attrURI,
java.lang.String attrValue,
boolean specified,
boolean id,
java.lang.Object type)
This method is used by the DOMParser to create attributes.
|
void |
setEntityInfo(int currentEntityDecl,
java.lang.String version,
java.lang.String encoding) |
void |
setIdAttribute(int attrIndex)
Sets type of attribute
|
void |
setIdAttributeNode(int elemIndex,
int attrIndex)
Adds an attribute node to the specified element.
|
void |
setInputEncoding(int currentEntityDecl,
java.lang.String value)
DOM Internal
An attribute specifying the actual encoding of this document.
|
void |
setInternalSubset(int doctypeIndex,
java.lang.String subset) |
void |
setTypeInfo(int elementNodeIndex,
java.lang.Object type) |
protected void |
synchronizeChildren()
Synchronizes the node's children with the internal structure.
|
protected void |
synchronizeChildren(AttrImpl a,
int nodeIndex)
Synchronizes the node's children with the internal structure.
|
protected void |
synchronizeChildren(ParentNode p,
int nodeIndex)
Synchronizes the node's children with the internal structure.
|
protected void |
synchronizeData()
Synchronizes the node's data.
|
addEventListener, cloneNode, copyEventListeners, createEvent, createNodeIterator, createNodeIterator, createRange, createTreeWalker, createTreeWalker, dispatchAggregateEvents, dispatchAggregateEvents, dispatchEvent, dispatchEventToSubtree, dispatchingEventToSubtree, getEventListeners, removeEventListener, saveEnclosingAttr, setEventListeners
abort, adoptNode, callUserDataHandlers, canRenameElements, changed, changes, checkDOMNSErr, checkNamespaceWF, checkQName, clearIdentifiers, clone, cloneNode, createAttribute, createAttributeNS, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createDocumentType, createElement, createElementDefinition, createElementNS, createElementNS, createEntity, createEntityReference, createNotation, createProcessingInstruction, createTextNode, getAsync, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getErrorChecking, getFeature, getIdentifier, getIdentifiers, getInputEncoding, getNodeName, getNodeNumber, getNodeNumber, getNodeType, getOwnerDocument, getStandalone, getStrictErrorChecking, getTextContent, getUserData, getUserData, getUserDataRecord, getVersion, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, insertBefore, isKidOK, isValidQName, isXMLName, load, loadXML, normalizeDocument, putIdentifier, removeChild, removeIdentifier, renameNode, replaceChild, saveXML, setAsync, setDocumentURI, setEncoding, setErrorChecking, setInputEncoding, setStandalone, setStrictErrorChecking, setTextContent, setUserData, setUserData, setVersion, setXmlEncoding, setXmlStandalone, setXmlVersion, undeferChildren
getChildNodes, getChildNodesUnoptimized, getFirstChild, getLastChild, getLength, hasChildNodes, isEqualNode, item, normalize, setOwnerDocument, setReadOnly
getNextSibling, getParentNode, getPreviousSibling
addEventListener, appendChild, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getContainer, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, getUserDataRecord, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, toString
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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
protected static final int CHUNK_SHIFT
protected static final int CHUNK_SIZE
protected static final int CHUNK_MASK
protected static final int INITIAL_CHUNK_COUNT
protected transient int fNodeCount
protected transient int[][] fNodeType
protected transient java.lang.Object[][] fNodeName
protected transient java.lang.Object[][] fNodeValue
protected transient int[][] fNodeParent
protected transient int[][] fNodeLastChild
protected transient int[][] fNodePrevSib
protected transient java.lang.Object[][] fNodeURI
protected transient int[][] fNodeExtra
protected transient int fIdCount
protected transient java.lang.String[] fIdName
protected transient int[] fIdElement
protected boolean fNamespacesEnabled
public DeferredDocumentImpl()
public DeferredDocumentImpl(boolean namespacesEnabled)
public DeferredDocumentImpl(boolean namespaces, boolean grammarAccess)
public org.w3c.dom.DOMImplementation getImplementation()
getImplementation
in interface org.w3c.dom.Document
getImplementation
in class DocumentImpl
public int createDeferredDocument()
public int createDeferredDocumentType(java.lang.String rootElementName, java.lang.String publicId, java.lang.String systemId)
public void setInternalSubset(int doctypeIndex, java.lang.String subset)
public int createDeferredNotation(java.lang.String notationName, java.lang.String publicId, java.lang.String systemId, java.lang.String baseURI)
public int createDeferredEntity(java.lang.String entityName, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName, java.lang.String baseURI)
public java.lang.String getDeferredEntityBaseURI(int entityIndex)
public void setEntityInfo(int currentEntityDecl, java.lang.String version, java.lang.String encoding)
public void setTypeInfo(int elementNodeIndex, java.lang.Object type)
public void setInputEncoding(int currentEntityDecl, java.lang.String value)
null
otherwise.
public int createDeferredEntityReference(java.lang.String name, java.lang.String baseURI)
public int createDeferredElement(java.lang.String elementURI, java.lang.String elementName, java.lang.Object type)
public int createDeferredElement(java.lang.String elementName)
public int createDeferredElement(java.lang.String elementURI, java.lang.String elementName)
public int setDeferredAttribute(int elementNodeIndex, java.lang.String attrName, java.lang.String attrURI, java.lang.String attrValue, boolean specified, boolean id, java.lang.Object type)
elementNodeIndex
- attrName
- attrURI
- attrValue
- specified
- id
- type
- public int setDeferredAttribute(int elementNodeIndex, java.lang.String attrName, java.lang.String attrURI, java.lang.String attrValue, boolean specified)
public int createDeferredAttribute(java.lang.String attrName, java.lang.String attrValue, boolean specified)
public int createDeferredAttribute(java.lang.String attrName, java.lang.String attrURI, java.lang.String attrValue, boolean specified)
public int createDeferredElementDefinition(java.lang.String elementName)
public int createDeferredTextNode(java.lang.String data, boolean ignorableWhitespace)
public int createDeferredCDATASection(java.lang.String data)
public int createDeferredProcessingInstruction(java.lang.String target, java.lang.String data)
public int createDeferredComment(java.lang.String data)
public int cloneNode(int nodeIndex, boolean deep)
public void appendChild(int parentIndex, int childIndex)
public int setAttributeNode(int elemIndex, int attrIndex)
public void setIdAttributeNode(int elemIndex, int attrIndex)
public void setIdAttribute(int attrIndex)
public int insertBefore(int parentIndex, int newChildIndex, int refChildIndex)
public void setAsLastChild(int parentIndex, int childIndex)
public int getParentNode(int nodeIndex)
public int getParentNode(int nodeIndex, boolean free)
free
- True to free parent node.public int getLastChild(int nodeIndex)
public int getLastChild(int nodeIndex, boolean free)
free
- True to free child index.public int getPrevSibling(int nodeIndex)
public int getPrevSibling(int nodeIndex, boolean free)
free
- True to free sibling index.public int getRealPrevSibling(int nodeIndex)
public int getRealPrevSibling(int nodeIndex, boolean free)
free
- True to free sibling index.public int lookupElementDefinition(java.lang.String elementName)
public DeferredNode getNodeObject(int nodeIndex)
public java.lang.String getNodeName(int nodeIndex)
public java.lang.String getNodeName(int nodeIndex, boolean free)
free
- True to free the string index.public java.lang.String getNodeValueString(int nodeIndex)
public java.lang.String getNodeValueString(int nodeIndex, boolean free)
free
- True to free the string index.public java.lang.String getNodeValue(int nodeIndex)
public java.lang.Object getTypeInfo(int nodeIndex)
nodeIndex
- public java.lang.String getNodeValue(int nodeIndex, boolean free)
free
- True to free the value index.public int getNodeExtra(int nodeIndex)
public int getNodeExtra(int nodeIndex, boolean free)
free
- True to free the value index.public short getNodeType(int nodeIndex)
public short getNodeType(int nodeIndex, boolean free)
free
- True to free type index.public java.lang.String getAttribute(int elemIndex, java.lang.String name)
public java.lang.String getNodeURI(int nodeIndex)
public java.lang.String getNodeURI(int nodeIndex, boolean free)
free
- True to free URI index.public void putIdentifier(java.lang.String name, int elementNodeIndex)
public void print()
public int getNodeIndex()
getNodeIndex
in interface DeferredNode
protected void synchronizeData()
synchronizeData
in class NodeImpl
protected void synchronizeChildren()
synchronizeChildren
in class ParentNode
protected final void synchronizeChildren(AttrImpl a, int nodeIndex)
protected final void synchronizeChildren(ParentNode p, int nodeIndex)
protected void ensureCapacity(int chunk)
protected int createNode(short nodeType)
protected static int binarySearch(int[] values, int start, int end, int target)
values
- The array of values to search.start
- The starting offset of the search.end
- The ending offset of the search.target
- The target value.Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.