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    }