org.basex.query.ft
Class FTExpr

java.lang.Object
  extended by org.basex.query.ExprInfo
      extended by org.basex.query.expr.Expr
          extended by org.basex.query.ft.FTExpr
Direct Known Subclasses:
FTAnd, FTContent, FTDistance, FTMildNot, FTNot, FTOptions, FTOr, FTOrder, FTScope, FTWeight, FTWindow, FTWords

public abstract class FTExpr
extends Expr

This class defines is an abstract class for full-text expressions.

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
 FTExpr[] expr
          Expression list.
 
Method Summary
abstract  FTItem atomic(QueryContext ctx)
          This method is called by the sequential full-text evaluation.
 String color()
          Returns a color string for the expression.
 FTExpr comp(QueryContext ctx)
          Optimizes and compiles the expression.
 FTExpr indexEquivalent(IndexContext ic)
          Returns an equivalent expression which accesses an index structure.
abstract  FTIter iter(QueryContext ctx)
          This method is called by the index-based full-text evaluation.
 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.
 FTExpr remove(Var v)
          Removes the specified variable in a sub expression.
 Return returned(QueryContext ctx)
          Indicates the return type of an expression.
 boolean uses(Expr.Use u, QueryContext ctx)
          Indicates if an expression uses the specified type.
 
Methods inherited from class org.basex.query.expr.Expr
addText, checkCtx, checkDbl, checkItr, duplicates, e, ebv, i, indexAccessible, sameAs, size, test, v
 
Methods inherited from class org.basex.query.ExprInfo
info, name, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

expr

public FTExpr[] expr
Expression list.

Method Detail

comp

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

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

atomic

public abstract FTItem atomic(QueryContext ctx)
                       throws QueryException
This method is called by the sequential full-text evaluation.

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

iter

public abstract FTIter iter(QueryContext ctx)
                     throws QueryException
This method is called by the index-based full-text evaluation.

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".

Specified by:
uses in class Expr
Parameters:
u - use type to be checked
ctx - query context
Returns:
result of check

removable

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

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

remove

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

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

returned

public final Return returned(QueryContext ctx)
Description copied from class: Expr
Indicates the return type of an expression. Called by the compiler to check if expressions can be reformulated. null is returned by default.

Overrides:
returned in class Expr
Parameters:
ctx - query context
Returns:
result of check

indexEquivalent

public FTExpr indexEquivalent(IndexContext ic)
                       throws QueryException
Description copied from class: Expr
Returns an equivalent expression which accesses an index structure. Must be called if Expr.indexAccessible(org.basex.query.IndexContext) is implemented for an expression.

Overrides:
indexEquivalent in class Expr
Parameters:
ic - index context
Returns:
Equivalent index-expression or null
Throws:
QueryException - query exception

color

public final String color()
Description copied from class: ExprInfo
Returns a color string for the expression.

Overrides:
color in class ExprInfo
Returns:
color

plan

public void plan(Serializer ser)
          throws 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:
IOException - I/O exception