org.basex.query.xquery.path
Class Step

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.xquery.expr.Expr
          extended by org.basex.query.xquery.expr.Arr
              extended by org.basex.query.xquery.path.Step
Direct Known Subclasses:
IterStep, SimpleIterStep

public class Step
extends Arr

Location Step expression.

Author:
Workgroup DBIS, University of Konstanz 2005-08, ISC License, Christian Gruen

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.xquery.expr.Expr
Expr.Return, Expr.Using
 
Field Summary
 Axis axis
          Axis.
 Test test
          Node test.
 
Fields inherited from class org.basex.query.xquery.expr.Arr
expr
 
Constructor Summary
Step(Axis a, Test t, Expr[] p)
          Constructor.
 
Method Summary
 Expr comp(XQContext ctx)
          Optimizes and compiles the expression.
 NodeIter iter(XQContext ctx)
          Evaluates the expression and returns an iterator on the resulting items.
 void plan(Serializer ser)
          Recursively sends the abstract syntax of this expression to the specified serializer.
 Type returned()
          Indicates if an expression returns the specified type.
 boolean simple(Axis ax)
          Checks if this is a simple axis (node test, no predicates).
 java.lang.String toString()
           
 boolean uses(Expr.Using u)
          Indicates if an expression uses the specified type.
 
Methods inherited from class org.basex.query.xquery.expr.Expr
e, i
 
Methods inherited from class org.basex.query.ExprInfo
color, info, name
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

axis

public Axis axis
Axis.


test

public Test test
Node test.

Constructor Detail

Step

public Step(Axis a,
            Test t,
            Expr[] p)
Constructor.

Parameters:
a - axis
t - node test
p - predicates
Method Detail

comp

public Expr comp(XQContext ctx)
          throws XQException
Description copied from class: Expr
Optimizes and compiles the expression.

Overrides:
comp in class Arr
Parameters:
ctx - query context
Returns:
optimized Expression
Throws:
XQException - evaluation exception

iter

public NodeIter iter(XQContext ctx)
              throws XQException
Description copied from class: Expr
Evaluates the expression and returns an iterator on the resulting items.

Specified by:
iter in class Expr
Parameters:
ctx - query context
Returns:
resulting item
Throws:
XQException - evaluation exception

simple

public boolean simple(Axis ax)
Checks if this is a simple axis (node test, no predicates).

Parameters:
ax - axis to be checked
Returns:
result of check

uses

public boolean uses(Expr.Using u)
Description copied from class: Expr
Indicates if an expression uses the specified type. Called by the compiler to check if expressions can be reformulated. true is returned by default.

Overrides:
uses in class Arr
Parameters:
u - using flag
Returns:
result of check

returned

public Type returned()
Description copied from class: Expr
Indicates if an expression returns the specified type. Called by the compiler to check if expressions can be reformulated. null is returned by default.

Overrides:
returned in class Arr
Returns:
result of check

plan

public void plan(Serializer ser)
          throws java.io.IOException
Description copied from class: ExprInfo
Recursively sends the abstract syntax of this expression to the specified serializer.

Overrides:
plan in class Arr
Parameters:
ser - serializer
Throws:
java.io.IOException - exception

toString

public java.lang.String toString()
Specified by:
toString in class ExprInfo