01: package spoon.aval.annotation;
02:
03: import java.lang.annotation.Retention;
04: import java.lang.annotation.RetentionPolicy;
05:
06: import spoon.aval.Validator;
07: import spoon.aval.annotation.structure.AValTarget;
08: import spoon.aval.annotation.structure.Requires;
09: import spoon.reflect.declaration.CtAnnotationType;
10:
11: /**
12: * Meta annotation that gives the implementation for a validator.
13: *
14: */
15: @Retention(RetentionPolicy.RUNTIME)
16: @AValTarget(CtAnnotationType.class)
17: @Requires(value=Retention.class,message="AValidator annotations should have a Retention Policy of RUNTIME")
18: public @interface Implementation {
19:
20: /**
21: * Contains the Validator that implements this meta-annotation
22: * @see spoon.aval.Validator
23: */
24: Class<? extends Validator> value();
25: }
|