Interface ChainableStage<DATA>

  • Type Parameters:
    DATA - processed data type.
    All Superinterfaces:
    Stage<DATA>
    All Known Implementing Classes:
    AbstractChainableStage

    public interface ChainableStage<DATA>
    extends Stage<DATA>
    Linear acceptor that can be composed into a chain. The acceptor exposes a method for setting a value of the next acceptor in the chain that should be returned from the chain by default.

    The typical use case for implementing the acceptor is a logic that usually needs to perform some logic, but unlike an Stage.Builder.to(Function) acceptor created from a function} it also needs to be able to decide to override the default next acceptor and return a different acceptor, effectively branching away from the original linear acceptor chain. This technique can be e.g. used to break the accepting chain by returning a custom inflecting acceptor, etc.

    Author:
    Marek Potociar
    • Method Detail

      • setDefaultNext

        void setDefaultNext​(Stage<DATA> next)
        Set the default next stage that should be returned from this stage after it has been invoked by default.
        Parameters:
        next - the next default stage in the chain.