Class CallbackAccumulator<T>

  • Type Parameters:
    T - the type of the item being accumulated
    All Implemented Interfaces:
    Accumulator<T>, java.lang.Iterable<T>

    public class CallbackAccumulator<T>
    extends java.lang.Object
    implements Accumulator<T>
    An implementation of Accumulator that allows clients to easily process items as they arrive.

    This class is different than normal accumulators in that the values are not stored internally. As such, calls to get(), iterator() and size() will reflect having no data. Further, to use this class, each client must override #itemAdded(Object) in order to process the data as it arrives.

    • Constructor Summary

      Constructor Description
      CallbackAccumulator​(java.util.function.Consumer<T> consumer)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(T t)  
      void addAll​(java.util.Collection<T> collection)  
      boolean contains​(T t)  
      java.util.Collection<T> get()  
      java.util.Iterator<T> iterator()  
      int size()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • CallbackAccumulator

        public CallbackAccumulator​(java.util.function.Consumer<T> consumer)
        consumer - the consumer that will get called each time an item is addded
    • Method Detail

      • add

        public void add​(T t)
        Specified by:
        add in interface Accumulator<T>
      • addAll

        public void addAll​(java.util.Collection<T> collection)
        Specified by:
        addAll in interface Accumulator<T>
      • get

        public java.util.Collection<T> get()
        Specified by:
        get in interface Accumulator<T>
      • iterator

        public java.util.Iterator<T> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<T>