    001    package org.junit.validator;
    002
    003    import java.lang.annotation.ElementType;
    004    import java.lang.annotation.Inherited;
    005    import java.lang.annotation.Retention;
    006    import java.lang.annotation.RetentionPolicy;
    007    import java.lang.annotation.Target;
    008
    009    /**
    010     * Allows for an {@link AnnotationValidator} to be attached to an annotation.
    011     *
    012     * <p>When attached to an annotation, the validator will be instantiated and invoked
    013     * by the {@link org.junit.runners.ParentRunner}.</p>
    014     *
    015     * @since 4.12
    016     */
    017    @Retention(RetentionPolicy.RUNTIME)
    018    @Target(ElementType.ANNOTATION_TYPE)
    019    @Inherited
    020    public @interface ValidateWith {
    021        Class<? extends AnnotationValidator> value();
    022    }