org.apache.xpath.axes

## Class SelfIteratorNoPredicate

- java.lang.Object
- - org.apache.xpath.Expression
  - - org.apache.xpath.patterns.NodeTest
    - - org.apache.xpath.axes.PredicatedNodeTest
      - - org.apache.xpath.axes.LocPathIterator
        - - org.apache.xpath.axes.SelfIteratorNoPredicate

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable

      public class SelfIteratorNoPredicate
      extends LocPathIterator

  This class implements an optimized iterator for "." patterns, that is, the self axes without any predicates.
  See Also:
    `LocPathIterator`, Serialized Form
  Usage:
    **For advanced use only**

- - ### Field Summary

    - ### Fields inherited from class org.apache.xpath.axes.LocPathIterator

      `m_lastFetched`

    - ### Fields inherited from class org.apache.xpath.patterns.NodeTest

      `SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD`

    - ### Fields inherited from interface org.apache.xml.dtm.DTMIterator

      `FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SelfIteratorNoPredicate()` Create a SelfIteratorNoPredicate object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `asNode(XPathContext xctxt)` Return the first node out of the nodeset, if this expression is a nodeset expression.
    `int` | `getLastPos(XPathContext xctxt)` Get the index of the last node that can be itterated to.
    `int` | `nextNode()` Returns the next node in the set and advances the position of the iterator in the set.

    - ### Methods inherited from class org.apache.xpath.axes.LocPathIterator

      `allowDetachToRelease, asIterator, bool, callVisitors, cloneWithReset, detach, execute, executeCharsToContentHandler, getAnalysisBits, getAxis, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setRoot, setShouldCacheNodes, size`

    - ### Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest

      `acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, deepEquals, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount`

    - ### Methods inherited from class org.apache.xpath.patterns.NodeTest

      `debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow`

    - ### Methods inherited from class org.apache.xpath.Expression

      `asIteratorRaw, assertion, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isStableNumber, num, warn, xstr`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.xml.dtm.DTMIterator

      `clone`

- - ### Constructor Detail

    - #### SelfIteratorNoPredicate

          public SelfIteratorNoPredicate()
                                  throws javax.xml.transform.TransformerException

      Create a SelfIteratorNoPredicate object.
      Throws:
        `javax.xml.transform.TransformerException`

  - ### Method Detail

    - #### nextNode

          public int nextNode()

      Returns the next node in the set and advances the position of the iterator in the set. After a NodeIterator is created, the first call to nextNode() returns the first node in the set.
      Specified by:
        `nextNode` in interface `DTMIterator`
      Specified by:
        `nextNode` in class `LocPathIterator`
      Returns:
        The next `Node` in the set being iterated over, or `null` if there are no more members in that set.

    - #### asNode

          public int asNode(XPathContext xctxt)
                     throws javax.xml.transform.TransformerException

      Return the first node out of the nodeset, if this expression is a nodeset expression. This is the default implementation for nodesets. Derived classes should try and override this and return a value without having to do a clone operation.
      Overrides:
        `asNode` in class `LocPathIterator`
      Parameters:
        `xctxt` - The XPath runtime context.
      Returns:
        the first node out of the nodeset, or DTM.NULL.
      Throws:
        `javax.xml.transform.TransformerException`

    - #### getLastPos

          public int getLastPos(XPathContext xctxt)

      Get the index of the last node that can be itterated to. This probably will need to be overridded by derived classes.
      Specified by:
        `getLastPos` in interface `SubContextList`
      Overrides:
        `getLastPos` in class `LocPathIterator`
      Parameters:
        `xctxt` - XPath runtime context.
      Returns:
        the index of the last node that can be itterated to.
      See Also:
        `PredicatedNodeTest.getLastPos(XPathContext)`

Copyright © 2023 Apache XML Project. All Rights Reserved.