Class TreeEnumeration

    • 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

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void advance()
      Advance along the axis until a node is found that matches the required criteria
      protected boolean conforms​(NodeImpl node)
      Test whether a node conforms to the node type and name constraints.
      protected int count()
      Count the number of nodes in the enumeration.
      boolean hasMoreElements()
      Determine if there are more nodes to be returned
      boolean isPeer()
      Determine if the nodes are guaranteed to be peers (i.e.
      boolean isReverseSorted()
      Determine if the nodes are guaranteed to be sorted in reverse document order
      boolean isSorted()
      Determine if the nodes are guaranteed to be sorted in document order
      NodeInfo nextElement()
      Return the next node in the enumeration
      protected abstract void step()
      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
    • Constructor Detail

      • 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 Detail

      • 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
      • 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.