Schnittstelle Action<S extends @Nullable Object>

Typparameter:
S - Type of the object to transform through an action
Alle bekannten Unterschnittstellen:
Action.Dependent<S>, Action.Independent<S>
Alle bekannten Implementierungsklassen:
Action.JustMutate, Action.JustTransform

@API(status=EXPERIMENTAL, since="1.7.0") public interface Action<S extends @Nullable Object>
An action class represents a state transformation that can be performed on an object of type S. Those objects can be mutable, which means that the state changing method will return the same object, or immutable, which requires the method to return another object that represents the transformed state.

Do not implement this interface directly, but either Action.Dependent or Action.Independent. Only those can be used to create an arbitrary for a ActionChain.

Mind that there is a another interface Action which looks similar but refers to jqwik's old and deprecated style of state-based property testing. The two interfaces CANNOT be used interchangeably.

Siehe auch:
  • Methodendetails

    • builder

      static <T extends @Nullable Object> ActionBuilder<T> builder()
      Create an unconditioned ActionBuilder.
    • when

      static <T extends @Nullable Object> ActionBuilder<T> when(Predicate<? super T> precondition)
      Create an ActionBuilder with a precondition.
    • just

      static <T extends @Nullable Object> Action.Independent<T> just(Transformer<T> transformer)
      Convenience method to create an independent Action with a constant transformer
    • just

      static <T extends @Nullable Object> Action.Independent<T> just(String description, Transformer<T> transformer)
      Convenience method to create an independent Action with a description and a constant transformer
    • precondition

      default boolean precondition(S state)
      If this method returns false, the action will not be performed.

      Implementing this method will make the chain of actions harder to shrink.

      Parameter:
      state - the current state
      Gibt zurück:
      true if the precondition holds