org.basex.query.xpath.expr
Class FTArrayExpr

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.xpath.expr.Expr
          extended by org.basex.query.xpath.expr.FTArrayExpr
Direct Known Subclasses:
FTAnd, FTIndex, FTIntersection, FTMildNot, FTMildNotIter, FTNot, FTNotIter, FTOr, FTSelect, FTUnion, FTWords

public abstract class FTArrayExpr
extends Expr

This is an abstract class for fulltext array expressions.

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

Field Summary
 FTOpt fto
          Fulltext option.
 
Constructor Summary
FTArrayExpr()
           
 
Method Summary
 FTArrayExpr comp(XPContext ctx)
          Optimizes the expression.
 FTArrayExpr indexEquivalent(XPContext ctx, Step step, boolean seq)
          Returns an equivalent expression which accesses an index structure.
 boolean indexOptions(MetaData meta)
          Verifies if the fulltext query options comply with the index defaults.
 boolean more()
          Checks for more results.
 FTNode next(XPContext ctx)
          Returns the next ftquery result.
 void plan(Serializer ser)
          Recursively sends the abstract syntax of this expression to the specified serializer.
 boolean pos()
          Checks whether the result of the expression is negative.
 java.lang.String toString()
           
 boolean usesPos()
          Checks whether this Expression (or its children) make use of the position parameter.
 boolean usesSize()
          Checks whether this Expression (or its children) make use of the setsize parameter.
 
Methods inherited from class org.basex.query.xpath.expr.Expr
eval, indexSizes, 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
 

Field Detail

fto

public FTOpt fto
Fulltext option.

Constructor Detail

FTArrayExpr

public FTArrayExpr()
Method Detail

comp

public FTArrayExpr comp(XPContext ctx)
                 throws QueryException
Optimizes the expression.

Specified by:
comp in class Expr
Parameters:
ctx - expression context
Returns:
optimized Expression
Throws:
QueryException - evaluation exception

indexOptions

public boolean indexOptions(MetaData meta)
Verifies if the fulltext query options comply with the index defaults. Check where this method is overwritten to get more info.

Parameters:
meta - meta data
Returns:
result of check

more

public boolean more()
Checks for more results.

Returns:
boolean

pos

public boolean pos()
Checks whether the result of the expression is negative.

Returns:
boolean

next

public FTNode next(XPContext ctx)
Returns the next ftquery result.

Parameters:
ctx - current context
Returns:
FTNode container for the next result

usesPos

public final boolean usesPos()
Description copied from class: Expr
Checks whether this Expression (or its children) make use of the position parameter. If not this allows some nice optimizations.

Specified by:
usesPos in class Expr
Returns:
whether position is used

usesSize

public final boolean usesSize()
Description copied from class: Expr
Checks whether this Expression (or its children) make use of the setsize parameter. If not this allows early predicate evaluation.

Specified by:
usesSize in class Expr
Returns:
whether setsize is used

indexEquivalent

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

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

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