package io.delphiplatform.api.v3.validation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

@Constraint(validatedBy = ExactMatchesForIntCollectionValidator.class)
@Target({PARAMETER})
@Retention(RUNTIME)
public @interface ExactMatchesForIntCollection {

    String message() default "Value does not match to the expected set.";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    int[] anyOf();
}
