Annotation Interface QualifierArgument


@Documented @Retention(RUNTIME) @Target(METHOD) public @interface QualifierArgument
An annotation to use on an element of a contract annotation to indicate that the element specifies the value of an argument of the qualifier. A contract annotation is an annotation declared with a PreconditionAnnotation, PostconditionAnnotation, or ConditionalPostconditionAnnotation meta-annotation. The meta-annotation specifies the qualifier taking the arguments.

For example, the following code declares a postcondition annotation for the MinLen qualifier, allowing to specify its value:


 @PostconditionAnnotation(qualifier = MinLen.class)
 @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 public @interface EnsuresMinLen {
   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.
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Specifies the name of the argument of the qualifier, that is passed the values held in the annotated element.
  • Element Details

    • value

      String value
      Specifies the name of the argument of the qualifier, that is passed the values held in the annotated element. If the value is omitted or is empty, then the name of the annotated element is used as the argument name.
      Default:
      ""