Class CombiningSequence<T>

java.lang.Object
org.apache.druid.common.guava.CombiningSequence<T>
All Implemented Interfaces:
Sequence<T>

public class CombiningSequence<T> extends Object implements Sequence<T>
  • Method Details

    • create

      public static <T> CombiningSequence<T> create(Sequence<T> baseSequence, Comparator<T> ordering, BinaryOperator<T> mergeFn)
    • accumulate

      public <OutType> OutType accumulate(OutType initValue, Accumulator<OutType,T> accumulator)
      Description copied from interface: Sequence
      Accumulate this sequence using the given accumulator.
      Specified by:
      accumulate in interface Sequence<T>
      Type Parameters:
      OutType - the type of accumulated value.
      Parameters:
      initValue - the initial value to pass along to start the accumulation.
      accumulator - the accumulator which is responsible for accumulating input values.
      Returns:
      accumulated value.
    • toYielder

      public <OutType> Yielder<OutType> toYielder(OutType initValue, YieldingAccumulator<OutType,T> accumulator)
      Description copied from interface: Sequence
      Return a Yielder for accumulated sequence.
      Specified by:
      toYielder in interface Sequence<T>
      Type Parameters:
      OutType - the type of accumulated value.
      Parameters:
      initValue - the initial value to pass along to start the accumulation.
      accumulator - the accumulator which is responsible for accumulating input values.
      Returns:
      a Yielder for accumulated sequence.
      See Also: