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
public class FunctionLookup extends ContextAccessorFunction
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 Modifier and Type Class Description static class
FunctionLookup.FunctionLookupExportAgent
-
Constructor Summary
Constructors Constructor Description FunctionLookup()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FunctionItem
bindContext(XPathContext context)
Bind a context item to appear as part of the function's closure.Sequence
call(XPathContext context, Sequence[] arguments)
Evaluate the expressionboolean
equals(java.lang.Object o)
Determine whether two expressions are equivalentint
getSpecialProperties(Expression[] arguments)
Determine the special properties of this function.int
hashCode()
FunctionItem
lookup(StructuredQName name, int arity, XPathContext context)
Expression
makeFunctionCall(Expression... arguments)
Make an expression that either calls this function, or that is equivalent to a call on this function-
Methods 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
-
-
-
-
Method Detail
-
makeFunctionCall
public Expression makeFunctionCall(Expression... arguments)
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
public boolean equals(java.lang.Object o)
Determine whether two expressions are equivalent- Overrides:
equals
in classSystemFunction
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classSystemFunction
-
bindContext
public FunctionItem bindContext(XPathContext context)
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
public int getSpecialProperties(Expression[] arguments)
Determine the special properties of this function.- Overrides:
getSpecialProperties
in classSystemFunction
- Parameters:
arguments
- the actual arguments to the function call- Returns:
- the properties
-
call
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
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
-
-