Class FunctionNameImpl

  • All Implemented Interfaces:
    FunctionName, Operator

    public class FunctionNameImpl
    extends OperatorImpl
    implements FunctionName
    Implementation of the FunctionName interface.
    Author:
    Justin Deoliveira, The Open Planning Project
    • Constructor Detail

      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                int argumentCount)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                int argumentCount)
      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                String... argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                String... argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                List<String> argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                List<String> argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                int argumentCount,
                                List<String> argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                int argumentCount,
                                List<String> argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                int argumentCount,
                                String... argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                int argumentCount,
                                String... argumentsNames)
      • FunctionNameImpl

        public FunctionNameImpl​(FunctionName copy)
      • FunctionNameImpl

        public FunctionNameImpl​(String name,
                                Class<?> returnType,
                                Parameter<?>... arguments)
      • FunctionNameImpl

        public FunctionNameImpl​(Name name,
                                Class<?> returnType,
                                Parameter<?>... arguments)
    • Method Detail

      • getName

        public String getName()
        Description copied from interface: Operator
        Name of supported Operator.

        Each filter subclass has an associated name (such as BBOX or EqualsTo), you can use this name to determine if a matching Operator is defined as part of FilterCapabilities.

        Specified by:
        getName in interface Operator
        Overrides:
        getName in class OperatorImpl
      • getArgumentCount

        public int getArgumentCount()
        Description copied from interface: FunctionName
        Number of arguments the function accepts.

        • Use a positive number to indicate the number of arguments. Example: add( number1, number2 ) = 2
        • Use a negative number to indicate a minimum number: Example: concat( str1, str2,... ) has -2
         <xsd:attribute name="nArgs" type="xsd:string" use="required"/>
         

        This value is derived from FunctionName.getArguments()

        Specified by:
        getArgumentCount in interface FunctionName
      • hashCode

        public int hashCode()
        Description copied from interface: Operator
        HashCode should be implemented simply in terms of getName().
        Specified by:
        hashCode in interface Operator
        Overrides:
        hashCode in class OperatorImpl
      • equals

        public boolean equals​(Object obj)
        Description copied from interface: Operator
        Equals should be implemented simply in terms of getName()
        Specified by:
        equals in interface Operator
        Overrides:
        equals in class OperatorImpl
      • getArgumentNames

        public List<String> getArgumentNames()
        Optional ArgumentNames.

        This is a fixed length list the same size as getArgumentCount().

        Specified by:
        getArgumentNames in interface FunctionName
        Returns:
        Argument names (for documentation purposes) if known
      • parameter

        public static <T> Parameter<T> parameter​(String name,
                                                 Class<T> type)
        Named parameter (argument or result).
        Parameters:
        name - name of parameter
        type - type of parameter
        Returns:
        parameter description
      • parameter

        public static <T> Parameter<T> parameter​(String name,
                                                 Class<T> type,
                                                 int min,
                                                 int max)
        Named parameter (argument or result).
        Parameters:
        name - name of parameter
        type - type of parameter
        min - multiplicity
        max - multiplicity
        Returns:
        parameter description
      • parameter

        public static <T> Parameter<T> parameter​(String name,
                                                 Class<T> type,
                                                 String title,
                                                 String description)
        Parameters:
        name - name of parameter
        type - type of parameter
        title - human readable title
        description - human readable description
        Returns:
        parameter description