Package net.sf.saxon.functions.hof
Class CurriedFunction
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.hof.CurriedFunction
-
- All Implemented Interfaces:
Callable
,FunctionItem
,GroundedValue
,Item
,Sequence
public class CurriedFunction extends AbstractFunction
A function obtained by currying another function, that is, the result of calling fn:partial-apply
-
-
Constructor Summary
Constructors Constructor Description CurriedFunction(FunctionItem targetFunction, Sequence[] boundValues)
Create a curried function
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Sequence
call(XPathContext context, Sequence[] args)
Invoke the functionvoid
export(ExpressionPresenter out)
Output information about this function itemAnnotationList
getAnnotations()
Get the function annotations (as defined in XQuery).int
getArity()
Get the arity of the function (equal to the number of placeholders)java.lang.String
getDescription()
Get a description of this function for use in error messages.FunctionItemType
getFunctionItemType()
Get the item type of the function itemStructuredQName
getFunctionName()
Get the name of the function, or null if it is anonymous-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getOperandRoles, getUnicodeStringValue, isArray, isMap, isTrustedResultType, makeNewContext, simplify, toShortString, typeCheck
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre, isSequenceVariadic
-
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 Detail
-
CurriedFunction
public CurriedFunction(FunctionItem targetFunction, Sequence[] boundValues)
Create a curried function- Parameters:
targetFunction
- the function to be curriedboundValues
- the values to which the arguments are to be bound, representing unbound values (placeholders) by null
-
-
Method Detail
-
getFunctionItemType
public FunctionItemType getFunctionItemType()
Get the item type of the function item- Returns:
- the function item's type
-
getFunctionName
public StructuredQName getFunctionName()
Get the name of the function, or null if it is anonymous- Returns:
- the function name, or null for an anonymous inline function
-
getDescription
public java.lang.String getDescription()
Get a description of this function for use in error messages. For named functions, the description is the function name (as a lexical QName). For others, it might be, for example, "inline function", or "partially-applied ends-with function".- Returns:
- a description of the function for use in error messages
-
getArity
public int getArity()
Get the arity of the function (equal to the number of placeholders)- Returns:
- the number of arguments in the function signature
-
getAnnotations
public AnnotationList getAnnotations()
Get the function annotations (as defined in XQuery). Returns an empty list if there are no function annotations. The function annotations on a partially applied function are the same as the annotations on its base function.- Specified by:
getAnnotations
in interfaceFunctionItem
- Overrides:
getAnnotations
in classAbstractFunction
- Returns:
- the function annotations
-
call
public Sequence call(XPathContext context, Sequence[] args) throws XPathException
Invoke the function- Parameters:
context
- the XPath dynamic evaluation contextargs
- the actual arguments to be supplied- Returns:
- the result of invoking the function
- Throws:
XPathException
- if the function reports a dynamic error
-
export
public void export(ExpressionPresenter out) throws XPathException
Output information about this function item- Specified by:
export
in interfaceFunctionItem
- Overrides:
export
in classAbstractFunction
- Parameters:
out
- the destination to write to- Throws:
XPathException
- if things go wrong
-
-