/** * */ package uk.co.jemos.podam.common; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation to drive the value of the annotated attribute. * <p> * If specified, this annotation will take precedence over all other annotations * which influence the value of an attribute. In few words, this annotation * dictates law in terms of which value the attribute ultimately will get. * </p> * * @author mtedone * */ @Documented @PodamAnnotation @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface PodamStrategyValue { /** * The strategy that will populate the annotated attribute * * @return The strategy that will populate the annotated attribute */ Class<? extends AttributeStrategy<?>> value(); /** * It allows clients to write a comment on the usage of this annotation * * @return The comment string */ String comment() default ""; }