Package org.basex.query.expr.ft
Class FTFilter
java.lang.Object
org.basex.query.expr.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.ft.FTExpr
org.basex.query.expr.ft.FTFilter
- Direct Known Subclasses:
FTContent,FTDistance,FTOrder,FTScope,FTWindow
Abstract FTFilter expression.
- Author:
- BaseX Team 2005-21, BSD License, Christian Gruen
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionbooleanThis function is e.g.protected abstract booleanfilter(QueryContext qc, FTMatch match, FTLexer lexer) Evaluates the filter expression.final booleanChecks if an expression can be rewritten to an index access.final FTNodeitem(QueryContext qc, InputInfo ii) This method is called by the sequential full-text evaluation.final FTIteriter(QueryContext qc) This method is called by the index-based full-text evaluation.Methods inherited from class org.basex.query.expr.ft.FTExpr
accept, checkUp, compile, copy, count, exprSize, has, inline, inlineable, optimize, plan, usesExclude, valueMethods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, refineType, seqType, size, test, toArray, toArray, toAtomItem, toB64, toB64, toBin, toBin, toBoolean, toBoolean, toBytes, toBytes, toDouble, toDouble, toElem, toFloat, toFunc, toItem, toItem, toLong, toLong, toMap, toMap, toNode, toNode, toNodeOrNull, toNumber, toNumberOrNull, toQNm, toQNm, toToken, toToken, toTokenOrNull, toZeroTokenMethods inherited from class org.basex.query.expr.Expr
arg, args, atomItem, atomIter, data, data, ddo, funcType, hasFreeVars, isSimple, markTailCalls, mergeEbv, simplifyFor, typeCheck, uses, vacuous, visitAllMethods inherited from class org.basex.query.expr.ExprInfo
description, plan, toErrorString, toString
-
Method Details
-
item
Description copied from class:FTExprThis method is called by the sequential full-text evaluation. It always returns an item.- Specified by:
itemin classFTExpr- Parameters:
qc- query contextii- input info (only required bySeqinstances, which have no input info)- Returns:
- resulting item
- Throws:
QueryException- query exception
-
iter
Description copied from class:FTExprThis method is called by the index-based full-text evaluation.- Specified by:
iterin classFTExpr- Parameters:
qc- query context- Returns:
- resulting item
- Throws:
QueryException- query exception
-
filter
protected abstract boolean filter(QueryContext qc, FTMatch match, FTLexer lexer) throws QueryException Evaluates the filter expression.- Parameters:
qc- query contextmatch- full-text matchlexer- lexer (can benull)- Returns:
- result of check
- Throws:
QueryException- query exception
-
indexAccessible
Description copied from class:ExprChecks if an expression can be rewritten to an index access. If so, the index expression will be bound toIndexInfo.expr. This method will be called by thePathexpression.- Overrides:
indexAccessiblein classExpr- Parameters:
ii- index info- Returns:
- true if an index can be used
- Throws:
QueryException- query exception
-
equals
Description copied from class:ExprThis function is e.g. called by:If.optimize(CompileContext),Switch.optimize(CompileContext),Typeswitch.optimize(CompileContext), in order to discard identical expressions.CmpR.mergeEbv(Expr, boolean, CompileContext)orCmpSR.mergeEbv(Expr, boolean, CompileContext), in order to merge expressions with identical input.CmpG.optimize(CompileContext)orCmpV.optimize(CompileContext), in order to pre-evaluate equality tests.CmpG.optimize(CompileContext)orPos.get(Expr, CmpV.OpV, InputInfo, CompileContext), in order to compare the start and end value.PathCache, in order to find identical root values at runtime.
-