Interface ArbitraryConfigurator

All Superinterfaces:
Comparable<ArbitraryConfigurator>
All Known Implementing Classes:
ArbitraryConfiguratorBase

@API(status=MAINTAINED, since="1.0") public interface ArbitraryConfigurator extends Comparable<ArbitraryConfigurator>
Implementors can modify any arbitrary before it's being used for value generation. Most implementations use ArbitraryConfiguratorBase to derive from

Implementations must be registered in /META-INF/services/net.jqwik.api.configurators.ArbitraryConfigurator so that they will be automatically considered for arbitrary configuration.

  • Method Summary

    Modifier and Type
    Method
    Description
    default int
     
    <T extends @Nullable Object>
    Arbitrary<T>
    configure(Arbitrary<T> arbitrary, TypeUsage targetType)
    Configure a given arbitrary and return the configured instance.
    default int
    Determines the order in which a configurator will be applied in regards to other configurators.
  • Method Details

    • configure

      <T extends @Nullable Object> Arbitrary<T> configure(Arbitrary<T> arbitrary, TypeUsage targetType)
      Configure a given arbitrary and return the configured instance.
      Parameters:
      arbitrary - The arbitrary instance to be configured
      targetType - The type of the object to be generated by the arbitrary
      Returns:
      the newly configured arbitrary instance
    • order

      default int order()
      Determines the order in which a configurator will be applied in regards to other configurators. Default value is 100. Use lower values to enforce earlier application and higher values for later application.
      Returns:
      the order
    • compareTo

      default int compareTo(ArbitraryConfigurator other)
      Specified by:
      compareTo in interface Comparable<ArbitraryConfigurator>