Package net.sf.saxon.tree
Class ParentNodeImpl
java.lang.Object
net.sf.saxon.tree.NodeImpl
net.sf.saxon.tree.ParentNodeImpl
- All Implemented Interfaces:
Source
,SourceLocator
,FingerprintedNode
,Item
,NodeInfo
,ValueRepresentation
- Direct Known Subclasses:
DocumentImpl
,ElementImpl
ParentNodeImpl is an implementation of a non-leaf node (specifically, an Element node
or a Document node)
- Author:
- Michael H. Kay
-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a child node to this node.void
compact
(int size) Compact the space used by this nodefinal AxisIterator
enumerateChildren
(NodeTest test) Get an enumeration of the children of this nodefinal NodeInfo
Get the first child node of the elementfinal NodeInfo
Get the last child node of the elementprotected final NodeImpl
getNthChild
(int n) Get the nth child node of the element (numbering from 0)protected final long
Get the node sequence number (in document order).Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.Get the value of the item as a CharSequence.final boolean
Determine if the node has any children.void
useChildrenArray
(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
-
Field Details
-
sequence
protected int sequence
-
-
Constructor Details
-
ParentNodeImpl
ParentNodeImpl()
-
-
Method Details
-
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:
getSequenceNumber
in classNodeImpl
-
hasChildNodes
public final boolean hasChildNodes()Determine if the node has any children.- Specified by:
hasChildNodes
in interfaceNodeInfo
- Overrides:
hasChildNodes
in classNodeImpl
- Returns:
true
if the node has any children,false
if the node has no children.
-
enumerateChildren
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
Get the first child node of the element- Overrides:
getFirstChild
in classNodeImpl
- Returns:
- the first child node of the required type, or null if there are no children
-
getLastChild
Get the last child node of the element- Overrides:
getLastChild
in classNodeImpl
- Returns:
- the last child of the element, or null if there are no children
-
getNthChild
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
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:
-
getStringValueCS
Description copied from class:NodeImpl
Get 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:
getStringValueCS
in interfaceItem
- Specified by:
getStringValueCS
in interfaceValueRepresentation
- Overrides:
getStringValueCS
in classNodeImpl
- Returns:
- the string value of the item
- See Also:
-
useChildrenArray
Supply an array to be used for the array of children. For system use only. -
addChild
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
-