org.basex.query.ft
Class FTFilter

java.lang.Object
  extended by org.basex.data.ExprInfo
      extended by org.basex.query.expr.Expr
          extended by org.basex.query.expr.ParseExpr
              extended by org.basex.query.ft.FTExpr
                  extended by org.basex.query.ft.FTFilter
Direct Known Subclasses:
FTContent, FTDistance, FTOrder, FTScope, FTWindow

public abstract class FTFilter
extends FTExpr

Abstract FTFilter expression.

Author:
BaseX Team 2005-12, BSD License, Christian Gruen

Nested Class Summary
 
Nested classes/interfaces inherited from class org.basex.query.expr.Expr
Expr.Flag
 
Field Summary
 
Fields inherited from class org.basex.query.ft.FTExpr
expr
 
Fields inherited from class org.basex.query.expr.ParseExpr
info, size, type
 
Method Summary
protected abstract  boolean filter(QueryContext ctx, FTMatch m, FTLexer ft)
          Evaluates the filter expression.
 boolean indexAccessible(IndexCosts ic)
          Checks if an expression can be rewritten to an index access.
 FTNode item(QueryContext ctx, InputInfo ii)
          This method is called by the sequential full-text evaluation.
 FTIter iter(QueryContext ctx)
          This method is called by the index-based full-text evaluation.
 java.lang.String toString()
           
 
Methods inherited from class org.basex.query.ft.FTExpr
accept, checkUp, compile, copy, count, exprSize, has, indexEquivalent, inline, optimize, plan, removable
 
Methods inherited from class org.basex.query.expr.ParseExpr
checkAdmin, checkAllUp, checkBinary, checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkFunc, checkItem, checkItr, checkItr, checkMap, checkNode, checkNode, checkNode, checkNoEmpty, checkNoneUp, checkNoUp, checkQNm, checkStr, checkStr, checkStrBin, checkType, checkWrite, compBln, copyType, ebv, optPre, preEval, size, test, type, value
 
Methods inherited from class org.basex.query.expr.Expr
addText, compEbv, copy, hasFreeVars, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, sameAs, uses, visitAll
 
Methods inherited from class org.basex.data.ExprInfo
addPlan, addPlan, description, info, planAttr, planElem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

item

public final FTNode item(QueryContext ctx,
                         InputInfo ii)
                  throws QueryException
Description copied from class: FTExpr
This method is called by the sequential full-text evaluation.

Specified by:
item in class FTExpr
Parameters:
ctx - query context
ii - input info
Returns:
resulting item
Throws:
QueryException - query exception

iter

public final FTIter iter(QueryContext ctx)
                  throws QueryException
Description copied from class: FTExpr
This method is called by the index-based full-text evaluation.

Specified by:
iter in class FTExpr
Parameters:
ctx - query context
Returns:
resulting item
Throws:
QueryException - query exception

filter

protected abstract boolean filter(QueryContext ctx,
                                  FTMatch m,
                                  FTLexer ft)
                           throws QueryException
Evaluates the filter expression.

Parameters:
ctx - query context
m - full-text match
ft - tokenizer
Returns:
result of check
Throws:
QueryException - query exception

indexAccessible

public final boolean indexAccessible(IndexCosts ic)
                              throws QueryException
Description copied from class: Expr
Checks if an expression can be rewritten to an index access. If this method is implemented, Expr.indexEquivalent(org.basex.query.util.IndexCosts) must be implemented as well.

Overrides:
indexAccessible in class Expr
Parameters:
ic - index costs analyzer
Returns:
true if an index can be used
Throws:
QueryException - query exception

toString

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