Class GenericHigherOrderFunctionFactory

  • All Implemented Interfaces:
    PdpExtension

    public abstract class GenericHigherOrderFunctionFactory
    extends Object
    implements PdpExtension
    Interface for generic higher-order function factories, such as the one used for the standard map function in Authzforce PDP engine. A generic function is a function class with a type parameter depending on the sub-function's return type, e.g. the standard map function, therefore the function is instantiated for a specific sub-function's return type.
    Version:
    $Id: $
    • Constructor Detail

      • GenericHigherOrderFunctionFactory

        public GenericHigherOrderFunctionFactory()
    • Method Detail

      • getInstance

        public abstract <SUB_RETURN_T extends AttributeValueHigherOrderBagFunction<?,​SUB_RETURN_T> getInstance​(Datatype<SUB_RETURN_T> subFunctionReturnType)
                                                                                                                throws IllegalArgumentException
        Returns instance of the Higher-order function
        Parameters:
        subFunctionReturnType - sub-function's return datatype
        Returns:
        higher-order function instance (non-null, throw exceptions below if cannot return instance)
        Throws:
        IllegalArgumentException - iff subFunctionReturnType == null or subFunctionReturnType is not compatible with this factory (i.e. map function only accepts primitive datatype as subfunction's return type