org.exist.xpath
Class Step

java.lang.Object
  extended byorg.exist.xpath.Step
All Implemented Interfaces:
Expression
Direct Known Subclasses:
LocationStep, RootNode, VarBinding

public abstract class Step
extends java.lang.Object
implements Expression


Field Summary
protected  int axis
           
protected  boolean inPredicate
           
protected  BrokerPool pool
           
protected  java.util.ArrayList predicates
           
protected  NodeTest test
           
 
Constructor Summary
Step(BrokerPool pool, int axis)
           
Step(BrokerPool pool, int axis, NodeTest test)
           
 
Method Summary
 void addPredicate(Expression expr)
           
abstract  Value eval(DocumentSet docs, NodeSet context, NodeProxy node)
          Evaluate the expression represented by this object.
 int getAxis()
           
 java.lang.String pprint()
          Return a readable representation of this expression.
 DocumentSet preselect(DocumentSet in_docs)
          Determine the documents, taken from in_docs, for which this expression will possibly yield a result.
 int returnsType()
          The type of value, this expression returns.
 void setAxis(int axis)
           
 void setInPredicate(boolean inPredicate)
          This method is called to inform the expression object that it is executed inside an XPath predicate.
 void setTest(NodeTest test)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

axis

protected int axis

pool

protected BrokerPool pool

predicates

protected java.util.ArrayList predicates

test

protected NodeTest test

inPredicate

protected boolean inPredicate
Constructor Detail

Step

public Step(BrokerPool pool,
            int axis)

Step

public Step(BrokerPool pool,
            int axis,
            NodeTest test)
Method Detail

addPredicate

public void addPredicate(Expression expr)

eval

public abstract Value eval(DocumentSet docs,
                           NodeSet context,
                           NodeProxy node)
Description copied from interface: Expression
Evaluate the expression represented by this object. Depending on the context in which this expression is executed, either context, node or both of them may be set. An implementing class should know how to handle this. Most classes only expect context to contain a list of nodes which represents the current context of this expression.

Specified by:
eval in interface Expression
Parameters:
docs - the set of documents all nodes belong to.
context - the node-set which defines the current context node-set.
node - a single node, taken from context. This defines the node, the expression should work on.

getAxis

public int getAxis()

pprint

public java.lang.String pprint()
Description copied from interface: Expression
Return a readable representation of this expression. This method is called whenever the xpath-query should be displayed to the user.

Specified by:
pprint in interface Expression

preselect

public DocumentSet preselect(DocumentSet in_docs)
Description copied from interface: Expression
Determine the documents, taken from in_docs, for which this expression will possibly yield a result. An expression does not have to do anything here. It may simply return in_docs. This method is used to restrict the range of documents in question for a given xpath-expression. It is called before the xpath-expression is actually executed.

Specified by:
preselect in interface Expression

returnsType

public int returnsType()
Description copied from interface: Expression
The type of value, this expression returns. Depending on the type of expression, this method should return one of the constants defined in class Constants, e.g. TYPE_NODELIST, TYPE_STRING, TYPE_NUM, TYPE_BOOL.

Specified by:
returnsType in interface Expression

setAxis

public void setAxis(int axis)

setTest

public void setTest(NodeTest test)

setInPredicate

public void setInPredicate(boolean inPredicate)
Description copied from interface: Expression
This method is called to inform the expression object that it is executed inside an XPath predicate.

Specified by:
setInPredicate in interface Expression
Parameters:
inPredicate -


Copyright (C) Wolfgang Meier. All rights reserved.