Interface DoubleStreamEx.DoubleEmitter

  • Enclosing class:
    DoubleStreamEx
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public static interface DoubleStreamEx.DoubleEmitter
    A helper interface to build a new stream by emitting elements and creating new emitters in a chain.

    Using this interface it's possible to create custom sources which cannot be easily expressed using DoubleStreamEx.iterate(double, DoubleUnaryOperator) or DoubleStreamEx.generate(DoubleSupplier).

    Since:
    0.6.0
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      DoubleStreamEx.DoubleEmitter next​(java.util.function.DoubleConsumer action)
      Calls the supplied consumer zero or more times to emit some elements, then returns the next emitter which will emit more, or null if nothing more to emit.
      default java.util.Spliterator.OfDouble spliterator()
      Returns the spliterator which covers all the elements emitted by this emitter.
      default DoubleStreamEx stream()
      Returns the stream which covers all the elements emitted by this emitter.
    • Method Detail

      • next

        DoubleStreamEx.DoubleEmitter next​(java.util.function.DoubleConsumer action)
        Calls the supplied consumer zero or more times to emit some elements, then returns the next emitter which will emit more, or null if nothing more to emit.

        Normally one element is emitted during the next() method call. However, it's not restricted: you may emit as many elements as you want, though in some cases if many elements were emitted they might be buffered consuming additional memory.

        It's allowed not to emit anything (don't call the consumer). However if you do this and return new emitter which also does not emit anything, you will end up in endless loop.

        Parameters:
        action - consumer to be called to emit elements
        Returns:
        next emitter or null
      • spliterator

        default java.util.Spliterator.OfDouble spliterator()
        Returns the spliterator which covers all the elements emitted by this emitter.
        Returns:
        the new spliterator
      • stream

        default DoubleStreamEx stream()
        Returns the stream which covers all the elements emitted by this emitter.
        Returns:
        the new stream