Package net.sf.saxon.functions.hof
Class FunctionLookup
java.lang.Object
net.sf.saxon.functions.AbstractFunction
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.ContextAccessorFunction
net.sf.saxon.functions.hof.FunctionLookup
- All Implemented Interfaces:
Callable
,FunctionItem
,GroundedValue
,Item
,Sequence
This class supports the function-lookup() function in XPath 3.0. It takes as arguments
a function name (QName) and arity, and returns a function item representing that
function if found, or an empty sequence if not found.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbindContext
(XPathContext context) Bind a context item to appear as part of the function's closure.call
(XPathContext context, Sequence[] arguments) Evaluate the expressionboolean
Determine whether two expressions are equivalentint
getSpecialProperties
(Expression[] arguments) Determine the special properties of this function.int
hashCode()
lookup
(StructuredQName name, int arity, XPathContext context) makeFunctionCall
(Expression... arguments) Make an expression that either calls this function, or that is equivalent to a call on this functionMethods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getElaborator, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getStaticBaseUriString, getStreamerName, getUniStringArg, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheck
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
FunctionLookup
public FunctionLookup()
-
-
Method Details
-
makeFunctionCall
Description copied from class:SystemFunction
Make an expression that either calls this function, or that is equivalent to a call on this function- Overrides:
makeFunctionCall
in classSystemFunction
- Parameters:
arguments
- the supplied arguments to the function call- Returns:
- either a function call on this function, or an expression that delivers the same result
-
equals
Determine whether two expressions are equivalent- Overrides:
equals
in classSystemFunction
-
hashCode
public int hashCode()- Overrides:
hashCode
in classSystemFunction
-
bindContext
Bind a context item to appear as part of the function's closure. If this method has been called, the supplied context item will be used in preference to the context item at the point where the function is actually called.- Specified by:
bindContext
in classContextAccessorFunction
- Parameters:
context
- the context to which the function applies. Must not be null.
-
lookup
public FunctionItem lookup(StructuredQName name, int arity, XPathContext context) throws XPathException - Throws:
XPathException
-
getSpecialProperties
Determine the special properties of this function.- Overrides:
getSpecialProperties
in classSystemFunction
- Parameters:
arguments
- the actual arguments to the function call- Returns:
- the properties
-
call
Evaluate the expression- Specified by:
call
in interfaceCallable
- Overrides:
call
in classContextAccessorFunction
- Parameters:
context
- the dynamic evaluation contextarguments
- the values of the arguments, supplied as SequenceIterators- Returns:
- the result of the evaluation, in the form of a SequenceIterator
- Throws:
XPathException
- if a dynamic error occurs during the evaluation of the expression
-