org.basex.query.func
Class FNSimple
java.lang.Object
org.basex.data.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.Arr
org.basex.query.func.StandardFunc
org.basex.query.func.FNSimple
public final class FNSimple
- extends StandardFunc
Simple functions.
- Author:
- BaseX Team 2005-12, BSD License, Christian Gruen
Nested classes/interfaces inherited from class org.basex.query.expr.Expr |
Expr.Flag |
Fields inherited from class org.basex.query.expr.Arr |
expr |
Methods inherited from class org.basex.query.func.StandardFunc |
atom, bindings, cache, checkData, checkFile, compile, copy, dataLock, dateTimeToMs, description, encoding, has, isFunction, isVacuous, oneOf, optimize, plan, toString |
Methods inherited from class org.basex.query.expr.Arr |
accept, allAreValues, checkNoUp, checkUp, copyAll, count, exprSize, indexEquivalent, inline, removable, toString |
Methods inherited from class org.basex.query.expr.ParseExpr |
checkAdmin, checkAllUp, checkBinary, checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkFunc, checkItem, checkItr, checkItr, checkMap, checkNode, checkNode, checkNode, checkNoEmpty, checkNoneUp, checkNoUp, checkQNm, checkStr, checkStr, checkStrBin, checkType, checkWrite, compBln, copyType, ebv, optPre, preEval, size, test, type |
Methods inherited from class org.basex.query.expr.Expr |
addText, copy, hasFreeVars, indexAccessible, inlineAll, isEmpty, isItem, isValue, iterable, markTailCalls, sameAs, uses, visitAll |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FNSimple
public FNSimple(InputInfo ii,
Function f,
Expr... e)
- Constructor.
- Parameters:
ii
- input infof
- function definitione
- arguments
iter
public Iter iter(QueryContext ctx)
throws QueryException
- Description copied from class:
Expr
- Evaluates the expression and returns an iterator on the resulting items.
If this method is not overwritten,
Expr.item(org.basex.query.QueryContext, org.basex.util.InputInfo)
must be implemented
by an expression, as it may be called by this method.
- Overrides:
iter
in class ParseExpr
- Parameters:
ctx
- query context
- Returns:
- resulting item
- Throws:
QueryException
- query exception
value
public Value value(QueryContext ctx)
throws QueryException
- Description copied from class:
Expr
- Evaluates the expression and returns the resulting value.
- Overrides:
value
in class ParseExpr
- Parameters:
ctx
- query context
- Returns:
- iterator
- Throws:
QueryException
- query exception
item
public Item item(QueryContext ctx,
InputInfo ii)
throws QueryException
- Description copied from class:
Expr
- Evaluates the expression and returns the resulting item or
a
null
reference, if the expression yields an empty sequence.
If this method is not overwritten, Expr.iter(org.basex.query.QueryContext)
must be implemented
by an expression, as it may be called by this method.
- Overrides:
item
in class ParseExpr
- Parameters:
ctx
- query contextii
- input info
- Returns:
- iterator
- Throws:
QueryException
- query exception
opt
protected Expr opt(QueryContext ctx)
throws QueryException
- Description copied from class:
StandardFunc
- Performs function specific optimizations.
- Overrides:
opt
in class StandardFunc
- Parameters:
ctx
- query context
- Returns:
- evaluated item
- Throws:
QueryException
- query exception
compEbv
public Expr compEbv(QueryContext ctx)
- Description copied from class:
Expr
This method is overwritten by CmpG
, CmpV
and FNSimple
.
It is called at compile time by expressions that perform
effective boolean value tests (e.g. If
or Preds
).
If the arguments of the called expression return a boolean anyway,
the expression will be simplified.
Example in CmpV
:
if($x eq true())
is rewritten to if($x)
, if $x
is known to return a single boolean.
- Overrides:
compEbv
in class Expr
- Parameters:
ctx
- query context
- Returns:
- optimized expression