Package org.basex.query.expr.ft
Class FTOr
- 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.FTOr
-
public final class FTOr extends FTExpr
FTOr expression.- Author:
- BaseX Team 2005-24, BSD License, Christian Gruen, Sebastian Gath
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FTExpr
compile(CompileContext cc)
Compiles and optimizes the expression, assigns types and cardinalities.FTExpr
copy(CompileContext cc, IntObjMap<Var> vm)
Copies an expression.boolean
equals(Object obj)
This function is e.g. called by:If.optimize(CompileContext)
,Switch.optimize(CompileContext)
,Typeswitch.optimize(CompileContext)
, in order to discard identical expressions.boolean
indexAccessible(IndexInfo ii)
Checks if an expression can be rewritten to an index access.FTNode
item(QueryContext qc, InputInfo ii)
This method is called by the sequential full-text evaluation.FTIter
iter(QueryContext qc)
This method is called by the index-based full-text evaluation.void
toString(QueryString qs)
Creates a query string.-
Methods inherited from class org.basex.query.expr.ft.FTExpr
accept, checkUp, count, exprSize, has, inline, inlineable, optimize, toXml, usesExclude, value
-
Methods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, data, info, refineType, sc, seqType, size, test, toArray, toArray, toAtomItem, toBin, toBin, toBinOrNull, toBoolean, toBoolean, toBooleanOrFalse, toBytes, toBytes, toDouble, toDouble, toElem, toElem, toEnum, toFloat, toFunction, toLong, toLong, toLong, toMap, toMap, toNode, toNode, toNodeOrNull, toNumber, toNumber, toNumberOrNull, toQNm, toQNmOrNull, toRecord, toString, toString, toStringOrNull, toToken, toToken, toTokenOrNull, toZeroToken
-
Methods inherited from class org.basex.query.expr.Expr
arg, args, atomItem, atomIter, ddo, funcType, hasFreeVars, info, isSimple, markTailCalls, mergeEbv, optimizePos, simplify, simplifyFor, typeCheck, uses, vacuous, visitAll
-
Methods inherited from class org.basex.query.expr.ExprInfo
description, toErrorString, toString
-
-
-
-
Method Detail
-
compile
public FTExpr compile(CompileContext cc) throws QueryException
Description copied from class:Expr
Compiles and optimizes the expression, assigns types and cardinalities.- Overrides:
compile
in classFTExpr
- Parameters:
cc
- compilation context- Returns:
- optimized expression
- Throws:
QueryException
- query exception
-
item
public FTNode item(QueryContext qc, InputInfo ii) throws QueryException
Description copied from class:FTExpr
This method is called by the sequential full-text evaluation. It always returns an item.- Specified by:
item
in classFTExpr
- Parameters:
qc
- query contextii
- input info (can benull
); required for thoseValue
instances that have no input info)- Returns:
- resulting item
- Throws:
QueryException
- query exception
-
iter
public FTIter iter(QueryContext qc) throws QueryException
Description copied from class:FTExpr
This method is called by the index-based full-text evaluation.- Specified by:
iter
in classFTExpr
- Parameters:
qc
- query context- Returns:
- resulting item
- Throws:
QueryException
- query exception
-
indexAccessible
public boolean indexAccessible(IndexInfo ii) throws QueryException
Description copied from class:Expr
Checks 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 thePath
expression.- Overrides:
indexAccessible
in classExpr
- Parameters:
ii
- index info (can benull
)- Returns:
- true if an index can be used
- Throws:
QueryException
- query exception
-
copy
public FTExpr copy(CompileContext cc, IntObjMap<Var> vm)
Description copied from class:Expr
Copies an expression. Used for inlining functions, or for copying static queries. It is utilized byVarRef.inline(org.basex.query.InlineContext)
,FuncItem.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext)
,Closure.inline(org.basex.query.InlineContext)
andStaticFunc.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext)
.- Specified by:
copy
in classFTExpr
- Parameters:
cc
- compilation contextvm
- mapping from old variable IDs to new variable copies. Required byClosure.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)
andVarRef.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)
- Returns:
- copied expression
-
equals
public boolean equals(Object obj)
Description copied from class:Expr
This 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)
, in order to compare the start and end value.PathCache
, in order to find identical root values at runtime.
-
toString
public void toString(QueryString qs)
Description copied from class:ExprInfo
Creates a query string.
-
-