Package net.sf.saxon.functions.registry
Class BuiltInFunctionSet.Entry
- java.lang.Object
-
- net.sf.saxon.functions.registry.BuiltInFunctionSet.Entry
-
- All Implemented Interfaces:
Serializable
- Enclosing class:
- BuiltInFunctionSet
public static class BuiltInFunctionSet.Entry extends Object implements Serializable
An entry in the table describing the properties of a function- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description intapplicabilityFlags indicating which host languages the function is applicable toSequenceType[]argumentTypesAn array holding the types of the arguments to the functionintarityThe arity of the functionintcardinalityThe cardinality of the result of the functionClassimplementationClassThe class containing the implementation of this function (always a subclass of SystemFunction)ItemTypeitemTypeThe item type of the result of the functionStructuredQNamenameThe name of the function as a QNameOptionsParameteroptionDetailsFor options parameters, details of the accepted options, their defaults, and required typeintpropertiesAny additional properties.Sequence<?>[]resultIfEmptyAn 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 possibleClassstreamingAdjunctClass used to provide a streaming implementation of the functionOperandUsage[]usageThe 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.Entryarg(int a, ItemType type, int options, Sequence<?> resultIfEmpty)Add information to a function entry about the argument types of the functionBuiltInFunctionSet.EntryoptionDetails(OptionsParameter details)Add details for options parameters (only applies to one argument, the function is expected to know which)voidsetStreamingAdjunctClass(Class streamer)Define the class to be used to provide a streaming implementation of the function
-
-
-
Field Detail
-
name
public StructuredQName name
The name of the function as a QName
-
implementationClass
public Class implementationClass
The class containing the implementation of this function (always a subclass of SystemFunction)
-
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
-
applicability
public int applicability
Flags indicating which host languages the function is applicable to
-
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
-
streamingAdjunct
public Class streamingAdjunct
Class used to provide a streaming implementation of the function
-
-
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)
-
optionDetails
public BuiltInFunctionSet.Entry optionDetails(OptionsParameter details)
Add details for options parameters (only applies to one argument, the function is expected to know which)
-
setStreamingAdjunctClass
public void setStreamingAdjunctClass(Class streamer)
Define the class to be used to provide a streaming implementation of the function
-
-