public static class UserFunctionReference.BoundUserFunction extends AbstractFunction implements ContextOriginator
Constructor and Description |
---|
BoundUserFunction(ExportAgent agent,
Function function,
Component component,
Controller controller) |
Modifier and Type | Method and Description |
---|---|
Sequence |
call(XPathContext context,
Sequence[] args)
Call the Callable.
|
void |
export(ExpressionPresenter out)
Output information about this function item to the diagnostic explain() output
|
AnnotationList |
getAnnotations()
Get the function annotations (as defined in XQuery).
|
int |
getArity()
Get the arity of the function
|
Controller |
getController() |
java.lang.String |
getDescription()
Get a description of this function for use in error messages.
|
FunctionItemType |
getFunctionItemType()
Get the item type of the function item
|
StructuredQName |
getFunctionName()
Get the name of the function, or null if it is anonymous
|
Function |
getTargetFunction() |
XPathContext |
makeNewContext(XPathContext oldContext,
ContextOriginator originator)
Prepare an XPathContext object for evaluating the function
|
atomize, deepEquals, effectiveBooleanValue, getOperandRoles, getUnicodeStringValue, isArray, isMap, isTrustedResultType, simplify, toShortString, typeCheck
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getGenre, isSequenceVariadic
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
asIterable, concatenate, containsNode, materialize
makeRepeatable
public BoundUserFunction(ExportAgent agent, Function function, Component component, Controller controller)
public Function getTargetFunction()
public Controller getController()
public XPathContext makeNewContext(XPathContext oldContext, ContextOriginator originator)
AbstractFunction
makeNewContext
in interface Function
makeNewContext
in class AbstractFunction
oldContext
- the XPathContext of the function calling expressionoriginator
- the originator of the new contextpublic Sequence call(XPathContext context, Sequence[] args) throws XPathException
Callable
call
in interface Callable
context
- the dynamic evaluation contextargs
- the values of the arguments, supplied as Sequences.
Generally it is advisable, if calling iterate() to process a supplied sequence, to
call it only once; if the value is required more than once, it should first be converted
to a GroundedValue
by calling the utility method
SequenceTool.toGroundedValue().
If the expected value is a single item, the item should be obtained by calling
Sequence.head(): it cannot be assumed that the item will be passed as an instance of
Item
or AtomicValue
.
It is the caller's responsibility to perform any type conversions required to convert arguments to the type expected by the callee. An exception is where this Callable is explicitly an argument-converting wrapper around the original Callable.
XPathException
- if a dynamic error occurs during the evaluation of the expressionpublic FunctionItemType getFunctionItemType()
Function
getFunctionItemType
in interface Function
public AnnotationList getAnnotations()
Function
getAnnotations
in interface Function
getAnnotations
in class AbstractFunction
public StructuredQName getFunctionName()
Function
getFunctionName
in interface Function
public int getArity()
Function
public java.lang.String getDescription()
Function
getDescription
in interface Function
public void export(ExpressionPresenter out) throws XPathException
AbstractFunction
export
in interface Function
export
in class AbstractFunction
out
- the destination for the informationXPathException
- if things go wrongCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.