/**
*
*/
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 used to customise string type attributes or constructor parameter.
*
* <p>
* The {@code strValue} attribute takes precedence over {@code length}. If the
* former was specified the latter will be ignored.
* </p>
*
* @author mtedone
*
*/
@Documented
@PodamAnnotation
@Target(value = { ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
public @interface PodamStringValue {
/**
* The length of the String for the annotated attribute. It defaults to
* {@link PodamConstants#STR_DEFAULT_LENGTH}
*
* @return string length
*/
int length() default PodamConstants.STR_DEFAULT_LENGTH;
/** If specified, it allows clients to specify an exact value for the string
*
* @return string value
*/
String strValue() default "";
/** It allows clients to specify a comment on this annotation
*
* @return comment value
*/
String comment() default "";
}