net.sf.saxon.om
Interface FunctionItem

All Superinterfaces:
Item, PullEvent, Serializable, ValueRepresentation
All Known Implementing Classes:
AbstractFunctionItem, CoercedFunction, CurriedFunction, FirstClassFunction, InlineFunctionWithExternals, UserFunctionItem

public interface FunctionItem
extends Item, Serializable

XQuery 1.1 introduces a third kind of item, beyond nodes and atomic values: the function item. Function items implement this marker interface. The actual implementation class is in Saxon-PE and Saxon-EE only.


Field Summary
 
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
 
Method Summary
 FunctionItem curry(int arg, ValueRepresentation value)
          Curry a function by binding one of its arguments
 int getArity()
          Get the arity of the function
 FunctionItemType getFunctionItemType()
          Get the item type of the function item
 StructuredQName getFunctionName()
          Get the name of the function, or null if it is anonymous
 ValueRepresentation invoke(ValueRepresentation[] args, XPathContext context)
          Invoke the function
 
Methods inherited from interface net.sf.saxon.om.Item
getStringValue, getStringValueCS, getTypedValue
 

Method Detail

getFunctionItemType

FunctionItemType getFunctionItemType()
Get the item type of the function item

Returns:
the function item's type

getFunctionName

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

getArity

int getArity()
Get the arity of the function

Returns:
the number of arguments in the function signature

invoke

ValueRepresentation invoke(ValueRepresentation[] args,
                           XPathContext context)
                           throws XPathException
Invoke the function

Parameters:
args - the actual arguments to be supplied
context - the XPath dynamic evaluation context
Returns:
the result of invoking the function
Throws:
XPathException

curry

FunctionItem curry(int arg,
                   ValueRepresentation value)
                   throws XPathException
Curry a function by binding one of its arguments

Parameters:
arg - the argument to be found (1-based)
value - the value to which the argument is to be bound
Throws:
XPathException


Copyright (c) Saxonica Limited. All rights reserved.