Interface Barrier<B>

    • Method Detail

      • processAllStarts

        void processAllStarts()
        Process all left traversers by do not yield the resultant output. This method is useful for steps like ReducingBarrierStep, where traversers can be processed "on the fly" and thus, reduce memory consumption.
      • hasNextBarrier

        boolean hasNextBarrier()
        Whether or not the step has an accessible barrier.
        Returns:
        whether a barrier exists or not
      • nextBarrier

        B nextBarrier()
               throws NoSuchElementException
        Get the next barrier within this step. Barriers from parallel steps can be the be merged to create a single step with merge barriers.
        Returns:
        the next barrier of the step
        Throws:
        NoSuchElementException
      • addBarrier

        void addBarrier​(B barrier)
        Add a barrier to the step. This typically happens when multiple parallel barriers need to become one barrier at a single step.
        Parameters:
        barrier - the barrier to merge in
      • done

        default void done()
        A way to hard set that the barrier is complete. This is necessary when parallel barriers don't all have barriers and need hard resetting. The default implementation does nothing.