Package net.sf.saxon.option.axiom
Class AxiomParentNodeWrapper
- java.lang.Object
-
- net.sf.saxon.tree.wrapper.AbstractNodeWrapper
-
- net.sf.saxon.option.axiom.AxiomParentNodeWrapper
-
- All Implemented Interfaces:
javax.xml.transform.Source,javax.xml.transform.SourceLocator,GroundedValue,Item,NodeInfo,Sequence,Location,SiblingCountingNode,VirtualNode,org.xml.sax.Locator
- Direct Known Subclasses:
AxiomDocumentNodeWrapper,AxiomElementNodeWrapper
public abstract class AxiomParentNodeWrapper extends AbstractNodeWrapper implements SiblingCountingNode
A node in the XDM tree; specifically, a node that wraps an Axiom document node or element node.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAxiomParentNodeWrapper.ChildWrappingIteratorIterator over the children of a supplied nodeprotected classAxiomParentNodeWrapper.DescendantWrappingIteratorIterator over the descendants of a supplied node (optionally including the node itself)
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.axiom.om.OMContainernode-
Fields inherited from class net.sf.saxon.tree.wrapper.AbstractNodeWrapper
treeInfo
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
IS_DTD_TYPE, IS_NILLED
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAxiomParentNodeWrapper(org.apache.axiom.om.OMContainer node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicSequenceatomize()Get the typed value.voidgenerateId(FastStringBuffer buffer)Get a character string that uniquely identifies this node.java.lang.CharSequencegetStringValueCS()Get the value of the item as a CharSequence.org.apache.axiom.om.OMContainergetUnderlyingNode()Get the underlying Axiom node, to implement the VirtualNode interfacebooleanhasChildNodes()Determine whether the node has any children.protected AxisIteratoriterateChildren(java.util.function.Predicate<? super NodeInfo> nodeTest)Return an iterator over the children of this node.protected AxisIteratoriterateDescendants(java.util.function.Predicate<? super NodeInfo> nodeTest, boolean includeSelf)Return an iterator over the descendants of this node.-
Methods inherited from class net.sf.saxon.tree.wrapper.AbstractNodeWrapper
equals, getAllNamespaces, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDisplayName, getFingerprint, getLineNumber, getNamePool, getRealNode, getRoot, getStringValue, getSystemId, getTreeInfo, hasFingerprint, hashCode, iterateAttributes, iterateAxis, iterateAxis, iterateSiblings, saveLocation, 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.GroundedValue
asIterable, concatenate, containsNode, effectiveBooleanValue, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, head, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.s9api.Location
saveLocation
-
Methods inherited from interface net.sf.saxon.om.NodeInfo
attributes, children, children, compareOrder, copy, equals, getAllNamespaces, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getFingerprint, getGenre, getLineNumber, getLocalPart, getNodeKind, getParent, getPrefix, getPublicId, getRoot, getSchemaType, getStringValue, getSystemId, getTreeInfo, getURI, hasFingerprint, hashCode, isId, isIdref, isNilled, isSameNodeInfo, isStreamed, iterateAxis, iterateAxis, toShortString
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Methods inherited from interface net.sf.saxon.tree.wrapper.SiblingCountingNode
getSiblingPosition
-
-
-
-
Method Detail
-
getUnderlyingNode
public org.apache.axiom.om.OMContainer getUnderlyingNode()
Get the underlying Axiom node, to implement the VirtualNode interface- Specified by:
getUnderlyingNodein interfaceVirtualNode- Returns:
- The underlying node.
-
atomize
public AtomicSequence atomize()
Get the typed value.- Specified by:
atomizein interfaceItem- Specified by:
atomizein interfaceNodeInfo- Overrides:
atomizein classAbstractNodeWrapper- Returns:
- the typed value. If requireSingleton is set to true, the result will always be an AtomicValue. In other cases it may be a Value representing a sequence whose items are atomic values.
-
getStringValueCS
public java.lang.CharSequence getStringValueCS()
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:
getStringValueCSin interfaceGroundedValue- Specified by:
getStringValueCSin interfaceItem- Returns:
- the string value of the item
- See Also:
Item.getStringValue()
-
hasChildNodes
public boolean hasChildNodes()
Determine whether the node has any children.Note: the result is equivalent to
getEnumeration(Axis.CHILD, AnyNodeTest.getInstance()).hasNext()- Specified by:
hasChildNodesin interfaceNodeInfo- Overrides:
hasChildNodesin classAbstractNodeWrapper- Returns:
- True if the node has one or more children
-
generateId
public void generateId(FastStringBuffer buffer)
Get a character string that uniquely identifies this node. Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)- Specified by:
generateIdin interfaceNodeInfo- Parameters:
buffer- a buffer to contain a string that uniquely identifies this node, across all documents
-
iterateChildren
protected final AxisIterator iterateChildren(java.util.function.Predicate<? super NodeInfo> nodeTest)
Description copied from class:AbstractNodeWrapperReturn an iterator over the children of this node. This method is only called after checking that the node is an element or document.- Specified by:
iterateChildrenin classAbstractNodeWrapper- Parameters:
nodeTest- a test that the returned attributes must satisfy- Returns:
- an iterator over the child nodes, in document order.
-
iterateDescendants
protected AxisIterator iterateDescendants(java.util.function.Predicate<? super NodeInfo> nodeTest, boolean includeSelf)
Description copied from class:AbstractNodeWrapperReturn an iterator over the descendants of this node. This method is only called after checking that the node is an element or document node.- Overrides:
iterateDescendantsin classAbstractNodeWrapper- Parameters:
nodeTest- a test that the returned descendants must satisfyincludeSelf- true if this node is to be included in the result- Returns:
- an iterator over the sibling nodes, in axis order.
-
-