org.basex.query.xpath.internal
Class OneOf

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.xpath.expr.Expr
          extended by org.basex.query.xpath.internal.InternalExpr
              extended by org.basex.query.xpath.internal.OneOf

public final class OneOf
extends InternalExpr

This Expression assembles a number of similar comparisons of which one has to evaluate true.

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

Constructor Summary
OneOf(LocPath p, Item[] v, Comp c)
          Constructor.
 
Method Summary
 Bln eval(XPContext ctx)
          Evaluates the expression with the specified context set.
 Expr indexEquivalent(XPContext ctx, Step curr, boolean seq)
          Returns an equivalent expression which accesses an index structure.
 int indexSizes(XPContext ctx, Step curr, int min)
          Returns the number of results if this query is evaluated by an index.
 void plan(Serializer ser)
          Recursively sends the abstract syntax of this expression to the specified serializer.
 java.lang.String toString()
           
 
Methods inherited from class org.basex.query.xpath.internal.InternalExpr
comp, usesPos, usesSize
 
Methods inherited from class org.basex.query.xpath.expr.Expr
returnedValue, sameAs
 
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
 

Constructor Detail

OneOf

public OneOf(LocPath p,
             Item[] v,
             Comp c)
Constructor.

Parameters:
p - location path
v - second expression to compare with first
c - comparator
Method Detail

eval

public Bln eval(XPContext ctx)
         throws QueryException
Description copied from class: Expr
Evaluates the expression with the specified context set. Additionally provides a context

Specified by:
eval in class Expr
Parameters:
ctx - query context
Returns:
resulting XPathValue
Throws:
QueryException - evaluation exception

indexEquivalent

public Expr indexEquivalent(XPContext ctx,
                            Step curr,
                            boolean seq)
Description copied from class: Expr
Returns an equivalent expression which accesses an index structure.

Overrides:
indexEquivalent in class Expr
Parameters:
ctx - root
curr - location step
seq - flag for sequential evaluation
Returns:
Equivalent index-expression or null

indexSizes

public int indexSizes(XPContext ctx,
                      Step curr,
                      int min)
Description copied from class: Expr
Returns the number of results if this query is evaluated by an index. If Integer.MAX_VALUE is returned, no index access is possible.

Overrides:
indexSizes in class Expr
Parameters:
ctx - root
curr - the current location step
min - current minimum index hits
Returns:
number of expected results

toString

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

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.

Specified by:
plan in class ExprInfo
Parameters:
ser - serializer
Throws:
java.io.IOException - exception