|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.saxonica.hof.AbstractFunctionItem com.saxonica.hof.FirstClassFunction
public class FirstClassFunction
A FirstClassFunction is a value that encapsulates a function; it can therefore be manipulated like any other value: for example it can be assigned to a variable and passed as a parameter to a function.
A FirstClassFunction can be created using the extension function saxon:function(), and can be invoked using the extension function saxon:call().
In XQuery 1.1, a FirstClassFunction can be created using an inline function literal (for example "fn:contains#2" or an inline function definition, for example "function($x) {$x=0}". It can be called using a dynamic function call such as $f(17).
Currently all FirstClassFunction objects are created statically (at compile time).
Field Summary |
---|
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Constructor Summary | |
---|---|
protected |
FirstClassFunction(Expression target,
StructuredQName name,
int arity,
FunctionItemType type)
|
Method Summary | |
---|---|
int |
getArity()
Get the arity of the function |
FunctionItemType |
getFunctionItemType()
Determine the item type of the items in the value |
StructuredQName |
getFunctionName()
Get the name of the function |
ValueRepresentation |
invoke(ValueRepresentation[] args,
XPathContext context)
Invoke the function |
void |
typeCheck(ExpressionVisitor visitor,
ItemType contextItemType)
Type check the function (may modify it by adding code for converting the arguments) |
Methods inherited from class com.saxonica.hof.AbstractFunctionItem |
---|
bind, curry, explain, getStringValue, getStringValueCS, getTypedValue, optimize |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected FirstClassFunction(Expression target, StructuredQName name, int arity, FunctionItemType type)
Method Detail |
---|
public int getArity()
public StructuredQName getFunctionName()
public FunctionItemType getFunctionItemType()
public void typeCheck(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
typeCheck
in class AbstractFunctionItem
visitor
- the expression visitor, supplies context informationcontextItemType
- the context item type at the point where the function definition appears
XPathException
public ValueRepresentation invoke(ValueRepresentation[] args, XPathContext context) throws XPathException
args
- the actual arguments to be suppliedcontext
- the XPath dynamic evaluation context
XPathException
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |