Class 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 function
      int arity
      The arity of the function
      int cardinality
      The cardinality of the result of the function
      BuiltInFunctionSet functionSet
      The function set in which this function is defined
      java.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 function
      StructuredQName name
      The name of the function as a QName
      OptionsParameter optionDetails
      For options parameters, details of the accepted options, their defaults, and required type
      int 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 possible
      OperandUsage[] usage
      The syntactic context of each argument for the purposes of streamability analysis
    • Constructor Summary

      Constructors 
      Constructor Description
      Entry()  
    • Field Detail

      • 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
    • 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)