org.jaxen.expr
Interface Step

All Superinterfaces:
Predicated, Serializable
All Known Subinterfaces:
AllNodeStep, CommentNodeStep, NameStep, ProcessingInstructionNodeStep, TextNodeStep
All Known Implementing Classes:
DefaultAllNodeStep, DefaultCommentNodeStep, DefaultNameStep, DefaultProcessingInstructionNodeStep, DefaultStep, DefaultTextNodeStep

public interface Step
extends Predicated

Represents a location step in a LocationPath. The node-set selected by the location step is the node-set that results from generating an initial node-set from the axis and node-test, and then filtering that node-set by each of the predicates in turn.

The initial node-set consists of the nodes having the relationship to the context node specified by the axis, and having the node type and expanded-name specified by the node test.


Method Summary
 Iterator axisIterator(Object contextNode, ContextSupport support)
          Get an Iterator for the current axis starting in the given contextNode.
 List evaluate(Context context)
          For each node in the given context calls matches() for every node on the axis, then filters the result by each of the predicates.
 int getAxis()
          Get an identifier for the current axis.
 String getText()
          Returns a String containing the XPath expression.
 boolean matches(Object node, ContextSupport contextSupport)
          Performs the node-test part of evaluating the step for the given node (which must be on the axis).
 void simplify()
          Simplifies the XPath step.
 
Methods inherited from interface org.jaxen.expr.Predicated
addPredicate, getPredicates, getPredicateSet
 

Method Detail

matches

boolean matches(Object node,
                ContextSupport contextSupport)
                throws JaxenException
Performs the node-test part of evaluating the step for the given node (which must be on the axis).

Returns:
true if the node matches this step; false if it doesn't
Throws:
JaxenException

getText

String getText()
Returns a String containing the XPath expression.

Returns:
the text form of this step

simplify

void simplify()
Simplifies the XPath step. In practice, this is usually a noop. Jaxen does not currently perform any simplification.


getAxis

int getAxis()
Get an identifier for the current axis.

Returns:
the axis identifier
See Also:
Axis

axisIterator

Iterator axisIterator(Object contextNode,
                      ContextSupport support)
                      throws UnsupportedAxisException
Get an Iterator for the current axis starting in the given contextNode.

Parameters:
contextNode - the node from which to follow this step
support - the remaining context for the traversal
Returns:
an iterator over the nodes along the axis
Throws:
UnsupportedAxisException - if the navigator does not support this step's axis

evaluate

List evaluate(Context context)
              throws JaxenException
For each node in the given context calls matches() for every node on the axis, then filters the result by each of the predicates.

Returns:
a list of matching nodes
Throws:
JaxenException


Copyright © 2001-2008 Codehaus. All Rights Reserved.