net.jqwik.api.constraints.Size Maven / Gradle / Ivy
package net.jqwik.api.constraints;
import java.lang.annotation.*;
import org.apiguardian.api.*;
import static org.apiguardian.api.API.Status.*;
/**
* Constrain the size of generated "sizable" types.
*
* Applies to List, Set, Stream, and arrays which are also annotated with {@code @ForAll}.
*
* @see net.jqwik.api.ForAll
*/
@Target({ ElementType.ANNOTATION_TYPE, ElementType.PARAMETER, ElementType.TYPE_USE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@API(status = MAINTAINED, since = "1.0")
public @interface Size {
int min() default 0;
int max() default 0;
int value() default 0;
}