Package org.htmlunit.xpath.xml.dtm.ref
Class DTMDefaultBaseTraversers.ChildTraverser
java.lang.Object
org.htmlunit.xpath.xml.dtm.DTMAxisTraverser
org.htmlunit.xpath.xml.dtm.ref.DTMDefaultBaseTraversers.ChildTraverser
- Enclosing class:
DTMDefaultBaseTraversers
Implements traversal of the Ancestor access, in reverse document order.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
first
(int context) By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop.int
first
(int context, int expandedTypeID) By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop.protected int
getNextIndexed
(int axisRoot, int nextPotential, int expandedTypeID) Get the next indexed node that matches the expanded type ID.int
next
(int context, int current) Traverse to the next node after the current node.int
next
(int context, int current, int expandedTypeID) Traverse to the next node after the current node that is matched by the extended type ID.
-
Constructor Details
-
ChildTraverser
private ChildTraverser()
-
-
Method Details
-
getNextIndexed
protected int getNextIndexed(int axisRoot, int nextPotential, int expandedTypeID) Get the next indexed node that matches the expanded type ID. Before calling this function, one should first call to make sure that the index can contain nodes that match the given expanded type ID.- Parameters:
axisRoot
- The root identity of the axis.nextPotential
- The node found must match or occur after this node.expandedTypeID
- The expanded type ID for the request.- Returns:
- The node ID or NULL if not found.
-
first
public int first(int context) By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop. So to traverse an axis, the first function must be used to get the first node.This method needs to be overloaded only by those axis that process the self node.
- Overrides:
first
in classDTMAxisTraverser
- Parameters:
context
- The context node of this traversal. This is the point that the traversal starts from.- Returns:
- the first node in the traversal.
-
first
public int first(int context, int expandedTypeID) By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop. So to traverse an axis, the first function must be used to get the first node.This method needs to be overloaded only by those axis that process the self node.
- Overrides:
first
in classDTMAxisTraverser
- Parameters:
context
- The context node of this traversal. This is the point of origin for the traversal -- its "root node" or starting point.expandedTypeID
- The extended type ID that must match.- Returns:
- the first node in the traversal.
-
next
public int next(int context, int current) Traverse to the next node after the current node.- Specified by:
next
in classDTMAxisTraverser
- Parameters:
context
- The context node of this traversal. This is the point of origin for the traversal -- its "root node" or starting point.current
- The current node of the traversal. This is the last known location in the traversal, typically the node-handle returned by the previous traversal step. For the first traversal step, context should be set equal to current. Note that in order to test whether context is in the set, you must use the first() method instead.- Returns:
- the next node in the iteration, or DTM.NULL.
- See Also:
-
next
public int next(int context, int current, int expandedTypeID) Traverse to the next node after the current node that is matched by the extended type ID.- Specified by:
next
in classDTMAxisTraverser
- Parameters:
context
- The context node of this traversal. This is the point of origin for the traversal -- its "root node" or starting point.current
- The current node of the traversal. This is the last known location in the traversal, typically the node-handle returned by the previous traversal step. For the first traversal step, context should be set equal to current. Note that in order to test whether context is in the set, you must use the first() method instead.expandedTypeID
- The extended type ID that must match.- Returns:
- the next node in the iteration, or DTM.NULL.
- See Also:
-