Class GroupIterator.AggregatePredicateCollectorSupplier<T extends AggregateCollector,​D>

  • Enclosing class:
    GroupIterator

    private static class GroupIterator.AggregatePredicateCollectorSupplier<T extends AggregateCollector,​D>
    extends java.lang.Object
    This is to collect together in operation an aggregate function the name of it. And the suppliers that will give the unique set and final value collectors per final binding set.

    Making an aggregate function is quite a lot of work and we do not want to repeat that for each final binding.

    • Constructor Summary

      Constructors 
      Constructor Description
      AggregatePredicateCollectorSupplier​(AggregateFunction<T,​D> agg, java.util.function.Supplier<java.util.function.Predicate<D>> makePotentialDistinctTest, java.util.function.Supplier<T> makeAggregateCollector, java.lang.String name)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void operate​(BindingSet bs, java.util.function.Predicate<?> predicate, java.lang.Object t)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • name

        public final java.lang.String name
      • makePotentialDistinctTest

        private final java.util.function.Supplier<java.util.function.Predicate<D>> makePotentialDistinctTest
      • makeAggregateCollector

        private final java.util.function.Supplier<T extends AggregateCollector> makeAggregateCollector
    • Constructor Detail

      • AggregatePredicateCollectorSupplier

        public AggregatePredicateCollectorSupplier​(AggregateFunction<T,​D> agg,
                                                   java.util.function.Supplier<java.util.function.Predicate<D>> makePotentialDistinctTest,
                                                   java.util.function.Supplier<T> makeAggregateCollector,
                                                   java.lang.String name)
    • Method Detail

      • operate

        private void operate​(BindingSet bs,
                             java.util.function.Predicate<?> predicate,
                             java.lang.Object t)