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 class
AxiomParentNodeWrapper.ChildWrappingIterator
Iterator over the children of a supplied nodeprotected class
AxiomParentNodeWrapper.DescendantWrappingIterator
Iterator 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.OMContainer
node
-
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 protected
AxiomParentNodeWrapper(org.apache.axiom.om.OMContainer node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicSequence
atomize()
Get the typed value.void
generateId(FastStringBuffer buffer)
Get a character string that uniquely identifies this node.java.lang.CharSequence
getStringValueCS()
Get the value of the item as a CharSequence.org.apache.axiom.om.OMContainer
getUnderlyingNode()
Get the underlying Axiom node, to implement the VirtualNode interfaceboolean
hasChildNodes()
Determine whether the node has any children.protected AxisIterator
iterateChildren(java.util.function.Predicate<? super NodeInfo> nodeTest)
Return an iterator over the children of this node.protected AxisIterator
iterateDescendants(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:
getUnderlyingNode
in interfaceVirtualNode
- Returns:
- The underlying node.
-
atomize
public AtomicSequence atomize()
Get the typed value.- Specified by:
atomize
in interfaceItem
- Specified by:
atomize
in interfaceNodeInfo
- Overrides:
atomize
in 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:
getStringValueCS
in interfaceGroundedValue
- Specified by:
getStringValueCS
in 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:
hasChildNodes
in interfaceNodeInfo
- Overrides:
hasChildNodes
in 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:
generateId
in 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:AbstractNodeWrapper
Return 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:
iterateChildren
in 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:AbstractNodeWrapper
Return 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:
iterateDescendants
in 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.
-
-