Package net.sf.saxon.tree
Class ParentNodeImpl
- java.lang.Object
-
- net.sf.saxon.tree.NodeImpl
-
- net.sf.saxon.tree.ParentNodeImpl
-
- All Implemented Interfaces:
javax.xml.transform.Source,javax.xml.transform.SourceLocator,FingerprintedNode,Item,NodeInfo,ValueRepresentation
- Direct Known Subclasses:
DocumentImpl,ElementImpl
abstract class ParentNodeImpl extends NodeImpl
ParentNodeImpl is an implementation of a non-leaf node (specifically, an Element node or a Document node)- Author:
- Michael H. Kay
-
-
Field Summary
Fields Modifier and Type Field Description protected intsequence-
Fields inherited from class net.sf.saxon.tree.NodeImpl
index, NODE_LETTER, parent
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
-
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
-
-
Constructor Summary
Constructors Constructor Description ParentNodeImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChild(NodeImpl node, int index)Add a child node to this node.voidcompact(int size)Compact the space used by this nodeAxisIteratorenumerateChildren(NodeTest test)Get an enumeration of the children of this nodeNodeInfogetFirstChild()Get the first child node of the elementNodeInfogetLastChild()Get the last child node of the elementprotected NodeImplgetNthChild(int n)Get the nth child node of the element (numbering from 0)protected longgetSequenceNumber()Get the node sequence number (in document order).java.lang.StringgetStringValue()Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.java.lang.CharSequencegetStringValueCS()Get the value of the item as a CharSequence.booleanhasChildNodes()Determine if the node has any children.voiduseChildrenArray(NodeImpl[] array)Supply an array to be used for the array of children.-
Methods inherited from class net.sf.saxon.tree.NodeImpl
atomize, compareOrder, equals, generateId, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRoot, getSystemId, getTypeAnnotation, getTypedValue, getURI, hashCode, isSameNodeInfo, iterateAxis, iterateAxis, sendNamespaceDeclarations, setSystemId
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.NodeInfo
copy, getNodeKind
-
-
-
-
Method Detail
-
getSequenceNumber
protected final long getSequenceNumber()
Get the node sequence number (in document order). Sequence numbers are monotonic but not consecutive. In the current implementation, parent nodes (elements and roots) have a zero least-significant word, while namespaces, attributes, text nodes, comments, and PIs have the top word the same as their owner and the bottom half reflecting their relative position.- Overrides:
getSequenceNumberin classNodeImpl
-
hasChildNodes
public final boolean hasChildNodes()
Determine if the node has any children.- Specified by:
hasChildNodesin interfaceNodeInfo- Overrides:
hasChildNodesin classNodeImpl- Returns:
trueif the node has any children,falseif the node has no children.
-
enumerateChildren
public final AxisIterator enumerateChildren(NodeTest test)
Get an enumeration of the children of this node- Parameters:
test- A NodeTest to be satisfied by the child nodes, or null if all child node are to be returned
-
getFirstChild
public final NodeInfo getFirstChild()
Get the first child node of the element- Overrides:
getFirstChildin classNodeImpl- Returns:
- the first child node of the required type, or null if there are no children
-
getLastChild
public final NodeInfo getLastChild()
Get the last child node of the element- Overrides:
getLastChildin classNodeImpl- Returns:
- the last child of the element, or null if there are no children
-
getNthChild
protected final NodeImpl getNthChild(int n)
Get the nth child node of the element (numbering from 0)- Returns:
- the last child of the element, or null if there is no n'th child
-
getStringValue
public java.lang.String getStringValue()
Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.- Returns:
- the accumulated character content of the element, including descendant elements.
- See Also:
Item.getStringValueCS()
-
getStringValueCS
public java.lang.CharSequence getStringValueCS()
Description copied from class:NodeImplGet the value of the item as a CharSequence. This is in some cases more efficient than the version of the method that returns a String.- Specified by:
getStringValueCSin interfaceItem- Specified by:
getStringValueCSin interfaceValueRepresentation- Overrides:
getStringValueCSin classNodeImpl- Returns:
- the string value of the item
- See Also:
Item.getStringValue()
-
useChildrenArray
public void useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children. For system use only.
-
addChild
public void addChild(NodeImpl node, int index)
Add a child node to this node. For system use only. Note: normalizing adjacent text nodes is the responsibility of the caller.
-
compact
public void compact(int size)
Compact the space used by this node
-
-