Class BuiltInFunctionSet.Entry

  • Enclosing class:
    BuiltInFunctionSet

    public static class BuiltInFunctionSet.Entry
    extends Object
    An entry in the table describing the properties of a function
    • Field Detail

      • implementationClass

        public 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
    • Constructor Detail

      • Entry

        public Entry()
    • 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 zero
        type - the item type of the argument
        options - the cardinality and usage of the argument
        resultIfEmpty - 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)