Annotation Interface PreconditionAnnotation
RequiresQualifier. The value qualifier that is
necessary for a precondition specified with RequiresQualifier is specified here with the
value qualifier.
The annotation R that is meta-annotated as PreconditionAnnotation must have an element
called value that is an array of Strings of the same format and with the same
meaning as the value expression in RequiresQualifier.
The established precondition P has type specified by the qualifier field of this
annotation. If the annotation R has elements annotated by QualifierArgument, their values
are copied to the arguments (elements) of annotation P with the same names. Different element
names may be used in R and P, if a QualifierArgument in R gives the name of the
corresponding element in P.
For example, the following code declares a precondition annotation for the MinLen qualifier:
@PreconditionAnnotation(qualifier = MinLen.class)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface RequiresMinLen {
String[] value();
@QualifierArgument("value")
int targetValue() default 0;
The value element holds the expressions to which the qualifier applies and
targetValue holds the value for the value argument of MinLen.
The following code then uses the annotation on a method that requires field to be
@MinLen(2) upon entry.
@RequiresMinLen(value = "field", targetValue = 2")
public char getThirdCharacter() {
return field.charAt(2);
}
- See Also:
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionClass<? extends Annotation> The qualifier that must be established as a precondition.
-
Element Details
-
qualifier
Class<? extends Annotation> qualifierThe qualifier that must be established as a precondition.
-