Class TreeEnumeration

java.lang.Object
com.icl.saxon.tree.TreeEnumeration
All Implemented Interfaces:
LastPositionFinder, AxisEnumeration, NodeEnumeration
Direct Known Subclasses:
AncestorEnumeration, ChildEnumeration, DescendantEnumeration, FollowingEnumeration, FollowingSiblingEnumeration, NamespaceEnumeration, PrecedingEnumeration, PrecedingOrAncestorEnumeration, PrecedingSiblingEnumeration

abstract class TreeEnumeration extends Object implements AxisEnumeration
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
     
    protected NodeImpl
     
    protected NodeTest
     
    protected NodeImpl
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    TreeEnumeration(NodeImpl origin, NodeTest nodeTest)
    Create an axis enumeration for a given type and name of node, from a given origin node
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final void
    Advance along the axis until a node is found that matches the required criteria
    protected boolean
    Test whether a node conforms to the node type and name constraints.
    protected int
    Count the number of nodes in the enumeration.
    final boolean
    Determine if there are more nodes to be returned
    boolean
    Determine if the nodes are guaranteed to be peers (i.e.
    boolean
    Determine if the nodes are guaranteed to be sorted in reverse document order
    boolean
    Determine if the nodes are guaranteed to be sorted in document order
    final NodeInfo
    Return the next node in the enumeration
    protected abstract void
    Advance one step along the axis: the resulting node might not meet the required criteria for inclusion

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.icl.saxon.om.AxisEnumeration

    getLastPosition
  • Field Details

    • start

      protected NodeImpl start
    • next

      protected NodeImpl next
    • nodeTest

      protected NodeTest nodeTest
    • last

      protected int last
  • Constructor Details

    • TreeEnumeration

      public TreeEnumeration(NodeImpl origin, NodeTest nodeTest)
      Create an axis enumeration for a given type and name of node, from a given origin node
  • Method Details

    • conforms

      protected boolean conforms(NodeImpl node)
      Test whether a node conforms to the node type and name constraints. Note that this returns true if the supplied node is null, this is a way of terminating a loop.
    • advance

      protected final void advance()
      Advance along the axis until a node is found that matches the required criteria
    • step

      protected abstract void step()
      Advance one step along the axis: the resulting node might not meet the required criteria for inclusion
    • hasMoreElements

      public final boolean hasMoreElements()
      Determine if there are more nodes to be returned
      Specified by:
      hasMoreElements in interface AxisEnumeration
      Specified by:
      hasMoreElements in interface NodeEnumeration
      Returns:
      true if there are more nodes
    • nextElement

      public final NodeInfo nextElement()
      Return the next node in the enumeration
      Specified by:
      nextElement in interface AxisEnumeration
      Specified by:
      nextElement in interface NodeEnumeration
      Returns:
      the next NodeInfo
    • isSorted

      public boolean isSorted()
      Determine if the nodes are guaranteed to be sorted in document order
      Specified by:
      isSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isReverseSorted

      public boolean isReverseSorted()
      Determine if the nodes are guaranteed to be sorted in reverse document order
      Specified by:
      isReverseSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isPeer

      public boolean isPeer()
      Determine if the nodes are guaranteed to be peers (i.e. no node is a descendant of another node)
      Specified by:
      isPeer in interface NodeEnumeration
    • count

      protected int count()
      Count the number of nodes in the enumeration. This is used to support finding the last() position. Note that it must be used on a "clean" enumeration: the enumeration must be positioned at the start, and is left positioned at the end.