ParametersSuppliedBy (JUnit API)
Date: 2018-08-04

org.junit.experimental.theories

## Annotation Type ParametersSuppliedBy

-     @Retention(value=RUNTIME)
      @Target(value={ANNOTATION_TYPE,PARAMETER})
      public @interface ParametersSuppliedBy

  Annotating a `Theory` method parameter with @ParametersSuppliedBy causes it to be supplied with values from the named `ParameterSupplier` when run as a theory by the `Theories` runner. In addition, annotations themselves can be annotated with @ParametersSuppliedBy, and then used similarly. ParameterSuppliedBy annotations on parameters are detected by searching up this heirarchy such that these act as syntactic sugar, making:

       @ParametersSuppliedBy(Supplier.class)
       public @interface SpecialParameter { }

       @Theory
       public void theoryMethod(@SpecialParameter String param) {
         ...
       }

  equivalent to:

       @Theory
       public void theoryMethod(@ParametersSuppliedBy(Supplier.class) String param) {
         ...
       }

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `java.lang.Class<? extends ParameterSupplier>` | `value`

- - ### Element Detail

    - #### value

          public abstract java.lang.Class<? extends ParameterSupplier> value