Package org.basex.query.expr
Class Lookup
java.lang.Object
org.basex.query.expr.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.Arr
org.basex.query.expr.Lookup
Lookup expression.
- Author:
- BaseX Team 2005-21, BSD License, Christian Gruen
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy(CompileContext cc, IntObjMap<Var> vm) Copies an expression.booleanThis function is e.g.iter(QueryContext qc) Evaluates the expression and returns an iterator on the resulting items.opt(CompileContext cc) Rewrites the lookup to another expression.Optimizes an already compiled expression without recompiling its sub-expressions.voidplan(QueryString qs) Creates a query string.value(QueryContext qc) Evaluates the expression and returns the resulting value.Methods inherited from class org.basex.query.expr.Arr
accept, allAreValues, args, checkUp, compile, copyAll, count, exprSize, flatten, has, inline, inline, inlineable, mayBePositional, plan, simplifyAllMethods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, item, 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, atomItem, atomIter, data, data, ddo, funcType, hasFreeVars, indexAccessible, isSimple, markTailCalls, mergeEbv, simplifyFor, typeCheck, uses, vacuous, visitAllMethods inherited from class org.basex.query.expr.ExprInfo
description, toErrorString, toString
-
Field Details
-
WILDCARD
Wildcard string.
-
-
Constructor Details
-
Lookup
Constructor.- Parameters:
info- input infoexpr- key specifier and (for postfix lookups) context expression
-
-
Method Details
-
optimize
Description copied from class:ExprOptimizes an already compiled expression without recompiling its sub-expressions.- Overrides:
optimizein classExpr- Parameters:
cc- compilation context- Returns:
- optimized expression
- Throws:
QueryException- query exception
-
opt
Rewrites the lookup to another expression.- Parameters:
cc- compilation context- Returns:
- optimized or original expression
- Throws:
QueryException- query exception
-
iter
Description copied from class:ExprEvaluates the expression and returns an iterator on the resulting items. The implementation of this method is optional.- Overrides:
iterin classParseExpr- Parameters:
qc- query context- Returns:
- iterator
- Throws:
QueryException- query exception
-
value
Description copied from class:ExprEvaluates the expression and returns the resulting value. If this method is not implemented,Expr.item(QueryContext, InputInfo)must be implemented instead.- Overrides:
valuein classParseExpr- Parameters:
qc- query context- Returns:
- value
- Throws:
QueryException- query exception
-
copy
Description copied from class:ExprCopies 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:
copyin 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
-
equals
Description copied from class:ArrThis 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)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.
-
plan
Description copied from class:ExprInfoCreates a query string.
-