Package org.basex.query.expr
Class Or
-
public final class Or extends Logical
Or expression.- Author:
- BaseX Team 2005-22, BSD License, Christian Gruen
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Or
copy(CompileContext cc, IntObjMap<Var> vm)
Copies an expression.boolean
equals(Object obj)
This function is e.g.boolean
indexAccessible(IndexInfo ii)
Checks if an expression can be rewritten to an index access.Item
item(QueryContext qc, InputInfo ii)
Evaluates the expression and returns the resulting item, orEmpty.VALUE
if the expression yields an empty sequence.Expr
optimize(CompileContext cc)
Optimizes an already compiled expression without recompiling its sub-expressions.void
toString(QueryString qs)
Creates a query string.-
Methods inherited from class org.basex.query.expr.Logical
compile, inline, markTailCalls, toXml
-
Methods inherited from class org.basex.query.expr.Arr
accept, allAreValues, args, checkUp, copyAll, count, exprSize, flatten, has, inlineable, mayBePositional, removeEmpty, simplifyAll
-
Methods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, data, ebv, info, iter, refineType, seqType, size, test, toArray, toArray, toAtomItem, toB64, toB64, toBin, toBin, toBoolean, toBoolean, toBytes, toBytes, toDouble, toDouble, toElem, toFloat, toFunction, toItem, toItem, toLong, toLong, toMap, toMap, toNode, toNode, toNodeOrNull, toNumber, toNumberOrNull, toQNm, toQNm, toString, toString, toStringOrNull, toToken, toToken, toTokenOrNull, toZeroToken, value
-
Methods inherited from class org.basex.query.expr.Expr
arg, atomItem, atomIter, ddo, funcType, hasFreeVars, isSimple, mergeEbv, optimizePos, simplify, simplifyFor, typeCheck, uses, vacuous, visitAll
-
Methods inherited from class org.basex.query.expr.ExprInfo
description, toErrorString, toString
-
-
-
-
Method Detail
-
optimize
public Expr optimize(CompileContext cc) throws QueryException
Description copied from class:Expr
Optimizes an already compiled expression without recompiling its sub-expressions.- Overrides:
optimize
in classExpr
- Parameters:
cc
- compilation context- Returns:
- optimized expression
- Throws:
QueryException
- query exception
-
item
public Item item(QueryContext qc, InputInfo ii) throws QueryException
Description copied from class:Expr
Evaluates the expression and returns the resulting item, orEmpty.VALUE
if the expression yields an empty sequence. If this method is not implemented,Expr.value(QueryContext)
must be implemented instead.- Overrides:
item
in classParseExpr
- Parameters:
qc
- query contextii
- input info (only required bySeq
instances, which have no input info)- Returns:
- item or
Empty.VALUE
- Throws:
QueryException
- query exception
-
copy
public Or 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 classExpr
- 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
-
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- Returns:
- true if an index can be used
- Throws:
QueryException
- query exception
-
equals
public boolean equals(Object obj)
Description copied from class:Arr
This function is e.g. called by:Must be overwritten by implementing class.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.
-
-