org.basex.query.expr
Class Pred

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.expr.Expr
          extended by org.basex.query.expr.Preds
              extended by org.basex.query.expr.Pred
Direct Known Subclasses:
IterPred

public class Pred
extends Preds

Predicate expression.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.expr.Expr
Expr.Use
 
Field Summary
 
Fields inherited from class org.basex.query.expr.Preds
pred
 
Constructor Summary
Pred(Expr r, Expr... p)
          Constructor.
 
Method Summary
 Expr comp(QueryContext ctx)
          Optimizes and compiles the expression.
 Iter iter(QueryContext 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.
 boolean removable(Var v, QueryContext ctx)
          Checks if the specified variable is removable.
 Expr remove(Var v)
          Removes the specified variable in a sub expression.
 String toString()
           
 boolean uses(Expr.Use u, QueryContext ctx)
          Indicates if an expression uses the specified type.
 
Methods inherited from class org.basex.query.expr.Preds
color
 
Methods inherited from class org.basex.query.expr.Expr
addText, atomic, checkCtx, checkDbl, checkItr, duplicates, e, ebv, i, indexAccessible, indexEquivalent, returned, sameAs, size, test, v
 
Methods inherited from class org.basex.query.ExprInfo
info, name
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pred

public Pred(Expr r,
            Expr... p)
Constructor.

Parameters:
r - expression
p - predicates
Method Detail

comp

public final Expr comp(QueryContext ctx)
                throws QueryException
Description copied from class: Expr
Optimizes and compiles the expression.

Overrides:
comp in class Preds
Parameters:
ctx - query context
Returns:
optimized Expression
Throws:
QueryException - query exception

iter

public Iter iter(QueryContext ctx)
          throws QueryException
Description copied from class: Expr
Evaluates the expression and returns an iterator on the resulting items. If this method is not overwritten, Expr.atomic(org.basex.query.QueryContext) must be implemented.

Overrides:
iter in class Expr
Parameters:
ctx - query context
Returns:
resulting item
Throws:
QueryException - query exception

uses

public final boolean uses(Expr.Use u,
                          QueryContext ctx)
Description copied from class: Expr
Indicates if an expression uses the specified type. Called by the compiler to perform certain optimizations. true is returned by default and thus assumed as "worst-case".

Overrides:
uses in class Preds
Parameters:
u - use type to be checked
ctx - query context
Returns:
result of check

removable

public final boolean removable(Var v,
                               QueryContext ctx)
Description copied from class: Expr
Checks if the specified variable is removable.

Overrides:
removable in class Preds
Parameters:
v - variable to be removed
ctx - query context
Returns:
result of check

remove

public final Expr remove(Var v)
Description copied from class: Expr
Removes the specified variable in a sub expression.

Overrides:
remove in class Preds
Parameters:
v - variable to be removed
Returns:
expression with removed variable

plan

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

Overrides:
plan in class Preds
Parameters:
ser - serializer
Throws:
IOException - I/O exception

toString

public final String toString()
Overrides:
toString in class Preds