public abstract class StandardFunction
extends java.lang.Object
Modifier and Type | Class | Description |
---|---|---|
static class |
StandardFunction.Entry |
An entry in the table describing the properties of a function
|
Modifier and Type | Field | Description |
---|---|---|
protected static ItemType |
SAME_AS_FIRST_ARGUMENT |
Modifier and Type | Method | Description |
---|---|---|
static void |
arg(StandardFunction.Entry e,
int a,
ItemType type,
int cardinality) |
Add information to a function entry about the argument types of the function
|
static StandardFunction.Entry |
getFunction(java.lang.String name,
int arity) |
Get the table entry for the function with a given name
|
static StandardFunction.Entry |
makeEntry(java.lang.String name,
java.lang.Class implementationClass,
int opcode,
int minArguments,
int maxArguments,
ItemType itemType,
int cardinality) |
Make a table entry describing the signature of a function, with a reference to the implementation class.
|
protected static ItemType SAME_AS_FIRST_ARGUMENT
public static StandardFunction.Entry makeEntry(java.lang.String name, java.lang.Class implementationClass, int opcode, int minArguments, int maxArguments, ItemType itemType, int cardinality)
name
- the function nameimplementationClass
- the class used to implement the functionopcode
- identifies the function when a single class implements several functionsminArguments
- the minimum number of arguments requiredmaxArguments
- the maximum number of arguments alloweditemType
- the item type of the result of the functioncardinality
- the cardinality of the result of the functionpublic static void arg(StandardFunction.Entry e, int a, ItemType type, int cardinality)
e
- the entry for the functiona
- the position of the argument, counting from zerotype
- the item type of the argumentcardinality
- the cardinality of the argumentpublic static StandardFunction.Entry getFunction(java.lang.String name, int arity)
name
- the name of the function. This may be an unprefixed local-name for functions in the
system namespace, or may use the conventional prefix "saxon:" in the case of Saxon extension functions
that are specially recognized