Package org.basex.query.expr
Class Cast
java.lang.Object
org.basex.query.expr.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.Single
org.basex.query.expr.Cast
Cast expression.
- Author:
- BaseX Team 2005-21, BSD License, Christian Gruen
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCast(StaticContext sc, InputInfo info, Expr expr, SeqType seqType) Function constructor. -
Method Summary
Modifier and TypeMethodDescriptionCompiles and optimizes the expression, assigns types and cardinalities.copy(CompileContext cc, IntObjMap<Var> vm) Copies an expression.booleanThis function is e.g.Optimizes an already compiled expression without recompiling its sub-expressions.voidCreates a query plan.voidplan(QueryString qs) Creates a query string.simplifyFor(CompileContext.Simplify mode, CompileContext cc) This function is called at compile time for expressions whose operands might be simplified.value(QueryContext qc) Evaluates the expression and returns the resulting value.Methods inherited from class org.basex.query.expr.Single
accept, checkUp, count, exprSize, has, inline, inlineableMethods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, item, iter, 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, indexAccessible, isSimple, markTailCalls, mergeEbv, typeCheck, uses, vacuous, visitAllMethods inherited from class org.basex.query.expr.ExprInfo
description, toErrorString, toString
-
Constructor Details
-
Cast
Function constructor.- Parameters:
sc- static contextinfo- input infoexpr- expressionseqType- sequence type to cast to (zero or one items)
-
-
Method Details
-
compile
Description copied from class:ExprCompiles and optimizes the expression, assigns types and cardinalities.- Overrides:
compilein classSingle- Parameters:
cc- compilation context- Returns:
- optimized expression
- Throws:
QueryException- query exception
-
optimize
Description copied from class:ExprOptimizes an already compiled expression without recompiling its sub-expressions.- Overrides:
optimizein classSingle- Parameters:
cc- compilation context- Returns:
- optimized expression
- 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
-
simplifyFor
Description copied from class:ExprThis function is called at compile time for expressions whose operands might be simplified.- Overrides:
simplifyForin classExpr- Parameters:
mode- mode of simplificationcc- compilation context- Returns:
- simplified or original expression
- Throws:
QueryException- query exception- See Also:
-
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:SingleThis 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 plan. -
plan
Description copied from class:ExprInfoCreates a query string.
-