DeferredAttrNSImplpublic final class DeferredAttrNSImpl extends AttrNSImpl implements DeferredNodeDeferredAttrNSImpl is to AttrNSImpl, what DeferredAttrImpl is to
AttrImpl. |
Fields Summary |
---|
static final long | serialVersionUIDSerialization version. | protected transient int | fNodeIndexNode index. |
Constructors Summary |
---|
DeferredAttrNSImpl(DeferredDocumentImpl ownerDocument, int nodeIndex)This is the deferred constructor. Only the fNodeIndex is given here.
All other data, can be requested from the ownerDocument via the index.
//
// Constructors
//
super(ownerDocument, null);
fNodeIndex = nodeIndex;
needsSyncData(true);
needsSyncChildren(true);
|
Methods Summary |
---|
public int | getNodeIndex()Returns the node index.
return fNodeIndex;
| 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.
DeferredDocumentImpl ownerDocument =
(DeferredDocumentImpl) ownerDocument();
ownerDocument.synchronizeChildren(this, fNodeIndex);
| protected void | synchronizeData()Synchronizes the data (name and value) for fast nodes.
// no need to sync in the future
needsSyncData(false);
// fluff data
DeferredDocumentImpl ownerDocument =
(DeferredDocumentImpl) ownerDocument();
name = ownerDocument.getNodeName(fNodeIndex);
// extract prefix and local part from QName
int index = name.indexOf(':");
if (index < 0) {
localName = name;
}
else {
localName = name.substring(index + 1);
}
int extra = ownerDocument.getNodeExtra(fNodeIndex);
isSpecified((extra & SPECIFIED) != 0);
isIdAttribute((extra & ID) != 0);
namespaceURI = ownerDocument.getNodeURI(fNodeIndex);
int extraNode = ownerDocument.getLastChild(fNodeIndex);
type = ownerDocument.getTypeInfo(extraNode);
|
|