public class CallableDelegate extends java.lang.Object implements Callable
Callable that allows the logic to be supplied as a lambda expression.
On Java, it's possible to assign a lambda expression directly to a Callable. But on C#, a Callable isn't a delegate, so lambda expressions can't be used directly; instead, this class is provided as a proxy.
| Modifier and Type | Class and Description |
|---|---|
static interface |
CallableDelegate.Lambda |
| Constructor and Description |
|---|
CallableDelegate(CallableDelegate.Lambda expression)
Construct a
Callable by supplying an implementation in the form of a lambda expression |
| Modifier and Type | Method and Description |
|---|---|
Sequence |
call(XPathContext context,
Sequence[] arguments)
Call the Callable.
|
public CallableDelegate(CallableDelegate.Lambda expression)
Callable by supplying an implementation in the form of a lambda expressionexpression - a lambda expression (typically) that is invoked to evaluate the Callablepublic Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
Callablecall in interface Callablecontext - the dynamic evaluation contextarguments - 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 expressionCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.