org.apache.xpath.axes

Class SelfIteratorNoPredicate

Implemented Interfaces:
Cloneable, DTMIterator, java.io.Serializable, ExpressionNode, PathComponent, java.io.Serializable, SourceLocator, SubContextList, 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

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

SelfIteratorNoPredicate()
Create a SelfIteratorNoPredicate object.

Method Summary

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, asNode, bool, callVisitors, cloneWithReset, detach, execute, executeCharsToContentHandler, getAnalysisBits, getAxis, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, nextNode, 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, getLastPos, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount

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

callVisitors, debugWhatToShow, deepEquals, execute, execute, execute, fixupVariables, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow

Methods inherited from class org.apache.xpath.Expression

asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, deepEquals, error, execute, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, fixupVariables, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr

Constructor Details

SelfIteratorNoPredicate

public SelfIteratorNoPredicate()
            throws TransformerException
Create a SelfIteratorNoPredicate object.
Parameters:

Method Details

asNode

public int asNode(XPathContext xctxt)
            throws 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 interface LocPathIterator
Parameters:
xctxt - The XPath runtime context.
Returns:
the first node out of the nodeset, or DTM.NULL.

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 interface LocPathIterator
Parameters:
xctxt - XPath runtime context.
Returns:
the index of the last node that can be itterated to.

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
Overrides:
nextNode in interface LocPathIterator
Returns:
The next Node in the set being iterated over, or null if there are no more members in that set.

Copyright B) 2004 Apache XML Project. All Rights Reserved.