Interface Action.Dependent<S>

All Superinterfaces:
Action<S>
Enclosing interface:
Action<S>
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 Action.Dependent<S> extends Action<S>
Implement this interface if you want to have the action's transforming behaviour depend on the previous state.

Implementing this interface instead of Action.Independent will make the chain of actions harder to shrink.

  • Method Details

    • transformer

      Arbitrary<Transformer<S>> transformer(S state)
      Return an arbitrary for transformers that depends on the previous state.

      In addition to performing a state transformation the transformin function can also check or assert post-conditions and invariants that should hold when doing the transformation.

      Parameters:
      state - the current state
      Returns:
      an arbitrary of type Transformer.