Package net.sf.saxon.functions.registry
Class BuiltInFunctionSet.Entry
- java.lang.Object
-
- net.sf.saxon.functions.registry.BuiltInFunctionSet.Entry
-
- Enclosing class:
- BuiltInFunctionSet
public static class BuiltInFunctionSet.Entry extends java.lang.Object
An entry in the table describing the properties of a function
-
-
Field Summary
Fields Modifier and Type Field Description SequenceType[]
argumentTypes
An array holding the types of the arguments to the functionint
arity
The arity of the functionint
cardinality
The cardinality of the result of the functionBuiltInFunctionSet
functionSet
The function set in which this function is definedjava.lang.Class<? extends SystemFunction>
implementationClass
The class containing the implementation of this function (always a subclass of SystemFunction)ItemType
itemType
The item type of the result of the functionStructuredQName
name
The name of the function as a QNameOptionsParameter
optionDetails
For options parameters, details of the accepted options, their defaults, and required typeint
properties
Any additional properties.Sequence[]
resultIfEmpty
An array holding, for each declared argument, the value that is to be returned if an empty sequence as the value of this argument allows the result to be determined irrespective of the values of the other arguments; null if there is no such calculation possibleOperandUsage[]
usage
The syntactic context of each argument for the purposes of streamability analysis
-
Constructor Summary
Constructors Constructor Description Entry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BuiltInFunctionSet.Entry
arg(int a, ItemType type, int options, Sequence resultIfEmpty)
Add information to a function entry about the argument types of the functionBuiltInFunctionSet.Entry
setOptionDetails(OptionsParameter details)
Add details for options parameters (only applies to one argument, the function is expected to know which)
-
-
-
Field Detail
-
name
public StructuredQName name
The name of the function as a QName
-
implementationClass
public java.lang.Class<? extends SystemFunction> implementationClass
The class containing the implementation of this function (always a subclass of SystemFunction)
-
functionSet
public BuiltInFunctionSet functionSet
The function set in which this function is defined
-
arity
public int arity
The arity of the function
-
itemType
public ItemType itemType
The item type of the result of the function
-
cardinality
public int cardinality
The cardinality of the result of the function
-
usage
public OperandUsage[] usage
The syntactic context of each argument for the purposes of streamability analysis
-
argumentTypes
public SequenceType[] argumentTypes
An array holding the types of the arguments to the function
-
resultIfEmpty
public Sequence[] resultIfEmpty
An array holding, for each declared argument, the value that is to be returned if an empty sequence as the value of this argument allows the result to be determined irrespective of the values of the other arguments; null if there is no such calculation possible
-
properties
public int properties
Any additional properties. Various bit settings are defined: for example SAME_AS_FIRST_ARGUMENT indicates that the result type is the same as the type of the first argument
-
optionDetails
public OptionsParameter optionDetails
For options parameters, details of the accepted options, their defaults, and required type
-
-
Method Detail
-
arg
public BuiltInFunctionSet.Entry arg(int a, ItemType type, int options, Sequence resultIfEmpty)
Add information to a function entry about the argument types of the function- Parameters:
a
- the position of the argument, counting from zerotype
- the item type of the argumentoptions
- the cardinality and usage of the argumentresultIfEmpty
- the value returned by the function if an empty sequence appears as the value of this argument, in the case when this result is unaffected by any other arguments. Supply null if this does not apply.- Returns:
- this entry (to allow chaining)
-
setOptionDetails
public BuiltInFunctionSet.Entry setOptionDetails(OptionsParameter details)
Add details for options parameters (only applies to one argument, the function is expected to know which)
-
-