Interface Accumulator<T>

  • Type Parameters:
    T - the type
    All Superinterfaces:
    java.lang.Iterable<T>
    All Known Implementing Classes:
    CallbackAccumulator, FilteringAccumulatorWrapper, ListAccumulator, SetAccumulator, SizeLimitedAccumulatorWrapper, SynchronizedListAccumulator

    public interface Accumulator<T>
    extends java.lang.Iterable<T>
    The interface provides a mechanism for clients to pass around an object that is effectively a 'results object', into which data can be placed as it is discovered.

    Historically, clients that load data will return results, once fully loaded, in a Collection. This has the drawback that the discovered data cannot be used until all searching is complete. This interface can now be passed into such a method (as opposed to be returned by it) so that the client can make use of data as it is discovered. This allows for long searching processes to report data as they work.

    • Method Detail

      • add

        void add​(T t)
      • addAll

        void addAll​(java.util.Collection<T> collection)
      • contains

        boolean contains​(T t)
      • get

        java.util.Collection<T> get()
      • size

        int size()
      • isEmpty

        default boolean isEmpty()
      • stream

        default java.util.stream.Stream<T> stream()