org.exist.xquery
Class FunctionCall
java.lang.Object
org.exist.xquery.AbstractExpression
org.exist.xquery.PathExpr
org.exist.xquery.Function
org.exist.xquery.FunctionCall
- All Implemented Interfaces:
- CompiledExpression, CompiledXQuery, Expression
- public class FunctionCall
- extends Function
Represents a call to a user-defined function
UserDefinedFunction
.
FunctionCall wraps around a user-defined function. It makes sure that all function parameters
are checked against the signature of the function.
- Author:
- wolf
Methods inherited from class org.exist.xquery.Function |
createFunction, dump, getArgument, getArguments, getASTNode, getCardinality, getDependencies, getName, getParent, getSignature, isCalledAs, returnsType, setArguments, setASTNode, setParent, setPrimaryAxis, toString |
Methods inherited from class org.exist.xquery.PathExpr |
accept, add, add, addPath, addPredicate, dump, getContext, getDocumentSet, getExpression, getLastExpression, getLength, getLiteralValue, getSource, isValid, replaceLastExpression, reset, setContext, setSource |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FunctionCall
public FunctionCall(XQueryContext context,
QName name,
java.util.List arguments)
FunctionCall
public FunctionCall(XQueryContext context,
UserDefinedFunction functionDef)
analyze
public void analyze(AnalyzeContextInfo contextInfo)
throws XPathException
- Description copied from interface:
Expression
- Statically analyze the expression and its subexpressions.
During the static analysis phase, the query engine can detect
unknown variables and some type errors.
- Specified by:
analyze
in interface Expression
- Overrides:
analyze
in class Function
- Throws:
XPathException
resolveForwardReference
public void resolveForwardReference(UserDefinedFunction functionDef)
throws XPathException
- Called by
XQueryContext
to resolve a call to a function that has not
yet been declared. XQueryContext remembers all calls to undeclared functions
and tries to resolve them after parsing has completed.
- Parameters:
functionDef
-
- Throws:
XPathException
getArgumentCount
public int getArgumentCount()
- Description copied from class:
Function
- Get the number of arguments passed to this function.
- Overrides:
getArgumentCount
in class Function
- Returns:
- number of arguments
getQName
public QName getQName()
eval
public Sequence eval(Sequence contextSequence,
Item contextItem)
throws XPathException
- Evaluates all arguments, then forwards them to the user-defined function.
The return value of the user-defined function will be checked against the
provided function signature.
- Specified by:
eval
in interface Expression
- Specified by:
eval
in class Function
- Throws:
XPathException
- See Also:
Expression.eval(Sequence, Item)
evalFunction
public Sequence evalFunction(Sequence contextSequence,
Item contextItem,
Sequence[] seq)
throws XPathException
- Parameters:
contextSequence
- contextItem
- seq
-
- Throws:
XPathException
resetState
public void resetState()
- Description copied from interface:
Expression
- Called to inform an expression that it should reset to its initial state.
All cached data in the expression object should be dropped. For example,
the document() function calls this method whenever the input document
set has changed.
- Specified by:
resetState
in interface Expression
- Overrides:
resetState
in class PathExpr
Copyright (C) Wolfgang Meier. All rights reserved.