|
|||||||||
| Home >> All >> org >> enhydra >> xml >> [ lazydom overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.enhydra.xml.lazydom
Class LazyAttrNS

java.lang.Objectorg.apache.xerces.dom.NodeImpl
org.apache.xerces.dom.AttrImpl
org.apache.xerces.dom.AttrNSImpl
org.enhydra.xml.lazydom.LazyAttrNS
- All Implemented Interfaces:
- org.w3c.dom.Attr, java.lang.Cloneable, org.w3c.dom.events.EventTarget, LazyAttr, LazyNode, LazyParent, org.w3c.dom.Node, org.w3c.dom.NodeList, java.io.Serializable, org.apache.xerces.dom3.TypeInfo
- public class LazyAttrNS
- extends org.apache.xerces.dom.AttrNSImpl
- implements LazyAttr
- extends org.apache.xerces.dom.AttrNSImpl
Implementation of the DOM Attr that supports lazy instantiation of a template DOM. This version supports namespaces.
| Field Summary | |
private boolean |
fChildrenExpanded
|
private boolean |
fIsTemplateNode
Is this a template node? |
private int |
fNodeId
|
private boolean |
fParentExpanded
Parent and children expanded flags. |
private LazyAttrNS |
fTemplateNode
Template for this Attr. |
| Fields inherited from class org.apache.xerces.dom.AttrNSImpl |
localName, namespaceURI |
| Fields inherited from class org.apache.xerces.dom.AttrImpl |
name, textNode, value |
| 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 |
| Fields inherited from interface org.enhydra.xml.lazydom.LazyNode |
DOCUMENT_NODE_ID, NULL_NODE_ID |
| Fields inherited from interface org.apache.xerces.dom3.TypeInfo |
DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION |
| Constructor Summary | |
protected |
LazyAttrNS(LazyDocument ownerDoc,
LazyAttrNS template,
java.lang.String namespaceURI,
java.lang.String qualifiedName)
Constructor with namespace. |
| Method Summary | |
org.w3c.dom.Node |
appendChild(org.w3c.dom.Node newChild)
Adds the node newChild to the end of the list of children
of this node. |
void |
appendChildWhileExpanding(org.w3c.dom.Node child)
Append a child during node expansion. |
boolean |
areChildrenExpanded()
Are the children of this node expanded? |
org.w3c.dom.Node |
cloneNode(boolean deep)
Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. |
private void |
expandChildren()
Expand the children of this element, if they are not already expanded. |
private void |
expandParent()
Expand the parent of this element, if it is not already expanded. |
org.w3c.dom.NodeList |
getChildNodes()
A NodeList that contains all children of this node. |
org.w3c.dom.Node |
getFirstChild()
The first child of this node. |
org.w3c.dom.Node |
getLastChild()
The last child of this node. |
org.w3c.dom.Node |
getNextSibling()
The node immediately following this node. |
int |
getNodeId()
Get the node numeric id number. |
java.lang.String |
getNodeValue()
The value of this node, depending on its type; see the table above. |
org.w3c.dom.Node |
getParentNode()
The parent of this node. |
org.w3c.dom.Node |
getPreviousSibling()
The node immediately preceding this node. |
LazyAttrNS |
getTemplateAttr()
Get the template for this node. |
LazyNode |
getTemplateNode()
Get the template node as a LazyNode. |
java.lang.String |
getValue()
On retrieval, the value of the attribute is returned as a string. |
boolean |
hasChildNodes()
Returns whether this node has any children. |
org.w3c.dom.Node |
insertBefore(org.w3c.dom.Node newChild,
org.w3c.dom.Node refChild)
Inserts the node newChild before the existing child node
refChild. |
boolean |
isParentExpanded()
Is the parent of this node expanded? |
boolean |
isTemplateNode()
Check if this node is a template node. |
void |
makeTemplateNode(int nodeId)
|
void |
normalize()
Puts all Text nodes in the full depth of the sub-tree
underneath this Node, including attribute nodes, into a
"normal" form where only structure (e.g., elements, comments,
processing instructions, CDATA sections, and entity references)
separates Text nodes, i.e., there are neither adjacent
Text nodes nor empty Text nodes. |
org.w3c.dom.Node |
removeChild(org.w3c.dom.Node oldChild)
Removes the child node indicated by oldChild from the list
of children, and returns it. |
org.w3c.dom.Node |
replaceChild(org.w3c.dom.Node newChild,
org.w3c.dom.Node oldChild)
Replaces the child node oldChild with newChild
in the list of children, and returns the oldChild node. |
void |
setChildrenExpanded()
Flag the children as being expanded. |
void |
setNodeValue(java.lang.String nodeValue)
Implicit in the rerouting of getNodeValue to getValue is the need to redefine setNodeValue, for symmetry's sake. |
void |
setParentExpanded()
Flag the parent as being expanded. |
void |
setParentWhileExpanding(org.w3c.dom.Node parent)
Set the parent of this node during expansion. |
void |
setValue(java.lang.String value)
The DOM doesn't clearly define what setValue(null) means. |
LazyNode |
templateClone(org.w3c.dom.Document ownerDocument)
Create a new node, using this node as the template. |
java.lang.String |
toString()
Return string for debugging. |
| Methods inherited from class org.apache.xerces.dom.AttrNSImpl |
getLocalName, getNamespaceURI, getPrefix, getTypeName, getTypeNamespace, isDerivedFrom, setPrefix, setValues |
| Methods inherited from class org.apache.xerces.dom.AttrImpl |
getElement, getLength, getName, getNodeName, getNodeType, getOwnerElement, getSchemaTypeInfo, getSpecified, isEqualNode, isId, item, makeChildNode, setIdAttribute, setReadOnly, setSpecified, setType, synchronizeChildren |
| Methods inherited from class org.apache.xerces.dom.NodeImpl |
addEventListener, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getContainer, getFeature, getNodeNumber, getOwnerDocument, getReadOnly, getTextContent, getUserData, getUserData, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setTextContent, setUserData, setUserData, synchronizeData |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.w3c.dom.Attr |
getName, getOwnerElement, getSpecified |
| Methods inherited from interface org.w3c.dom.Node |
getAttributes, getLocalName, getNamespaceURI, getNodeName, getNodeType, getOwnerDocument, getPrefix, hasAttributes, isSupported, setPrefix |
| Field Detail |
fTemplateNode
private LazyAttrNS fTemplateNode
- Template for this Attr.
fNodeId
private int fNodeId
fIsTemplateNode
private boolean fIsTemplateNode
- Is this a template node?
fParentExpanded
private boolean fParentExpanded
- Parent and children expanded flags.
fChildrenExpanded
private boolean fChildrenExpanded
| Constructor Detail |
LazyAttrNS
protected LazyAttrNS(LazyDocument ownerDoc, LazyAttrNS template, java.lang.String namespaceURI, java.lang.String qualifiedName)
- Constructor with namespace.
| Method Detail |
getTemplateAttr
public LazyAttrNS getTemplateAttr()
- Get the template for this node.
cloneNode
public org.w3c.dom.Node cloneNode(boolean deep)
- Description copied from interface:
org.w3c.dom.Node - Returns a duplicate of this node, i.e., serves as a generic copy
constructor for nodes. The duplicate node has no parent; (
parentNodeisnull.).
Cloning anElementcopies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a childTextnode. Cloning anAttributedirectly, as opposed to be cloned as part of anElementcloning operation, returns a specified attribute (specifiedistrue). Cloning any other type of node simply returns a copy of this node.
Note that cloning an immutable subtree results in a mutable copy, but the children of anEntityReferenceclone are readonly . In addition, clones of unspecifiedAttrnodes are specified. And, cloningDocument,DocumentType,Entity, andNotationnodes is implementation dependent.- Specified by:
cloneNodein interfaceorg.w3c.dom.Node
getValue
public java.lang.String getValue()
- Description copied from interface:
org.w3c.dom.Attr - On retrieval, the value of the attribute is returned as a string.
Character and general entity references are replaced with their
values. See also the method
getAttributeon theElementinterface.
On setting, this creates aTextnode with the unparsed contents of the string. I.e. any characters that an XML processor would recognize as markup are instead treated as literal text. See also the methodsetAttributeon theElementinterface.- Specified by:
getValuein interfaceorg.w3c.dom.Attr
setValue
public void setValue(java.lang.String value) throws org.w3c.dom.DOMException
- Description copied from class:
org.apache.xerces.dom.AttrImpl - The DOM doesn't clearly define what setValue(null) means. I've taken it
as "remove all children", which from outside should appear
similar to setting it to the empty string.
- Specified by:
setValuein interfaceorg.w3c.dom.Attr
getNodeValue
public java.lang.String getNodeValue() throws org.w3c.dom.DOMException
- Description copied from interface:
org.w3c.dom.Node - The value of this node, depending on its type; see the table above.
When it is defined to be
null, setting it has no effect.- Specified by:
getNodeValuein interfaceorg.w3c.dom.Node
setNodeValue
public void setNodeValue(java.lang.String nodeValue) throws org.w3c.dom.DOMException
- Description copied from class:
org.apache.xerces.dom.AttrImpl - Implicit in the rerouting of getNodeValue to getValue is the
need to redefine setNodeValue, for symmetry's sake. Note that
since we're explicitly providing a value, Specified should be set
true.... even if that value equals the default.
- Specified by:
setNodeValuein interfaceorg.w3c.dom.Node
makeTemplateNode
public void makeTemplateNode(int nodeId)
- Specified by:
makeTemplateNodein interfaceLazyNode
getNodeId
public int getNodeId()
- Description copied from interface:
LazyNode - Get the node numeric id number.
isTemplateNode
public boolean isTemplateNode()
- Description copied from interface:
LazyNode - Check if this node is a template node.
- Specified by:
isTemplateNodein interfaceLazyNode
getTemplateNode
public LazyNode getTemplateNode()
- Description copied from interface:
LazyNode - Get the template node as a LazyNode.
- Specified by:
getTemplateNodein interfaceLazyNode
templateClone
public LazyNode templateClone(org.w3c.dom.Document ownerDocument)
- Description copied from interface:
LazyNode - Create a new node, using this node as the template.
- Specified by:
templateClonein interfaceLazyNode
isParentExpanded
public boolean isParentExpanded()
- Description copied from interface:
LazyParent - Is the parent of this node expanded?
- Specified by:
isParentExpandedin interfaceLazyParent
setParentExpanded
public void setParentExpanded()
- Description copied from interface:
LazyParent - Flag the parent as being expanded.
- Specified by:
setParentExpandedin interfaceLazyParent
setParentWhileExpanding
public void setParentWhileExpanding(org.w3c.dom.Node parent)
- Description copied from interface:
LazyParent - Set the parent of this node during expansion. This should also
flag the parent as being expanded.
- Specified by:
setParentWhileExpandingin interfaceLazyParent
areChildrenExpanded
public boolean areChildrenExpanded()
- Description copied from interface:
LazyParent - Are the children of this node expanded?
- Specified by:
areChildrenExpandedin interfaceLazyParent
setChildrenExpanded
public void setChildrenExpanded()
- Description copied from interface:
LazyParent - Flag the children as being expanded.
- Specified by:
setChildrenExpandedin interfaceLazyParent
appendChildWhileExpanding
public void appendChildWhileExpanding(org.w3c.dom.Node child)
- Description copied from interface:
LazyParent - Append a child during node expansion. This should only add the
child, not trigger any other expansion.
- Specified by:
appendChildWhileExpandingin interfaceLazyParent
expandParent
private void expandParent()
- Expand the parent of this element, if it is not already expanded.
expandChildren
private void expandChildren()
- Expand the children of this element, if they are not already expanded.
getParentNode
public org.w3c.dom.Node getParentNode()
- Description copied from interface:
org.w3c.dom.Node - The parent of this node. All nodes, except
Attr,Document,DocumentFragment,Entity, andNotationmay have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this isnull.- Specified by:
getParentNodein interfaceorg.w3c.dom.Node
getChildNodes
public org.w3c.dom.NodeList getChildNodes()
- Description copied from interface:
org.w3c.dom.Node - A
NodeListthat contains all children of this node. If there are no children, this is aNodeListcontaining no nodes.- Specified by:
getChildNodesin interfaceorg.w3c.dom.Node
getFirstChild
public org.w3c.dom.Node getFirstChild()
- Description copied from interface:
org.w3c.dom.Node - The first child of this node. If there is no such node, this returns
null.- Specified by:
getFirstChildin interfaceorg.w3c.dom.Node
getLastChild
public org.w3c.dom.Node getLastChild()
- Description copied from interface:
org.w3c.dom.Node - The last child of this node. If there is no such node, this returns
null.- Specified by:
getLastChildin interfaceorg.w3c.dom.Node
getPreviousSibling
public org.w3c.dom.Node getPreviousSibling()
- Description copied from interface:
org.w3c.dom.Node - The node immediately preceding this node. If there is no such node,
this returns
null.- Specified by:
getPreviousSiblingin interfaceorg.w3c.dom.Node
getNextSibling
public org.w3c.dom.Node getNextSibling()
- Description copied from interface:
org.w3c.dom.Node - The node immediately following this node. If there is no such node,
this returns
null.- Specified by:
getNextSiblingin interfaceorg.w3c.dom.Node
insertBefore
public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild) throws org.w3c.dom.DOMException
- Description copied from interface:
org.w3c.dom.Node - Inserts the node
newChildbefore the existing child noderefChild. IfrefChildisnull, insertnewChildat the end of the list of children.
IfnewChildis aDocumentFragmentobject, all of its children are inserted, in the same order, beforerefChild. If thenewChildis already in the tree, it is first removed.- Specified by:
insertBeforein interfaceorg.w3c.dom.Node
replaceChild
public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild) throws org.w3c.dom.DOMException
- Description copied from interface:
org.w3c.dom.Node - Replaces the child node
oldChildwithnewChildin the list of children, and returns theoldChildnode.
IfnewChildis aDocumentFragmentobject,oldChildis replaced by all of theDocumentFragmentchildren, which are inserted in the same order. If thenewChildis already in the tree, it is first removed.- Specified by:
replaceChildin interfaceorg.w3c.dom.Node
removeChild
public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild) throws org.w3c.dom.DOMException
- Description copied from interface:
org.w3c.dom.Node - Removes the child node indicated by
oldChildfrom the list of children, and returns it.- Specified by:
removeChildin interfaceorg.w3c.dom.Node
appendChild
public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild) throws org.w3c.dom.DOMException
- Description copied from interface:
org.w3c.dom.Node - Adds the node
newChildto the end of the list of children of this node. If thenewChildis already in the tree, it is first removed.- Specified by:
appendChildin interfaceorg.w3c.dom.Node
hasChildNodes
public boolean hasChildNodes()
- Description copied from interface:
org.w3c.dom.Node - Returns whether this node has any children.
- Specified by:
hasChildNodesin interfaceorg.w3c.dom.Node
normalize
public void normalize()
- Description copied from interface:
org.w3c.dom.Node - Puts all
Textnodes in the full depth of the sub-tree underneath thisNode, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separatesTextnodes, i.e., there are neither adjacentTextnodes nor emptyTextnodes. This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used.In cases where the document containsCDATASections, the normalize operation alone may not be sufficient, since XPointers do not differentiate betweenTextnodes andCDATASectionnodes.- Specified by:
normalizein interfaceorg.w3c.dom.Node
toString
public java.lang.String toString()
- Return string for debugging. Xerces toString() method calls
getValue(), which can cause expansion, so we override.
|
|||||||||
| Home >> All >> org >> enhydra >> xml >> [ lazydom overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC