Class DefaultAggregatorFactory

    • Constructor Detail

      • DefaultAggregatorFactory

        public DefaultAggregatorFactory​(Class clzAggr)
        Construct a DefaultAggregatorFactory instance.
        Parameters:
        clzAggr - the aggregator class
    • Method Detail

      • getAggregator

        public InvocableMap.EntryAggregator getAggregator​(String... asArgs)
        Return an aggregator instantiated by calling an aggregator class constructor. The invoked constructor is matched using the following rules:
        • If the argument array is empty and a constructor that accepts a single ValueExtractor parameter exists, it will be invoked with an IdentityExtractor instance.
        • If the argument array is empty and a constructor that accepts a single ValueExtractor parameter does not exists, the default constructor is invoked.
        • If the argument array size is 1 and a constructor that accepts a single ValueExtractor parameter exists, it will be invoked with an MVEL-based ValueExtractor implementation.
        • If none of the above rules are matched, an exception is thrown.
        Specified by:
        getAggregator in interface AggregatorFactory
        Parameters:
        asArgs - aggregator configuration arguments
        Returns:
        an aggregator instance
        Throws:
        IllegalArgumentException - if an appropriate constructor cannot be found
      • getConstructor

        protected Constructor getConstructor​(Constructor[] aCtors)
        Search the given constructors for a constructor that accepts a single ValueExtractor parameter. If found, return the constructor; otherwise return the public default constructor, if available.
        Parameters:
        aCtors - constructor array
        Returns:
        constructor that accepts a single ValueExtractor parameter or, if such a constructor is not found, the public default constructor if available