Annotation Interface ConditionalPostconditionAnnotation
@Documented
@Retention(RUNTIME)
@Target(ANNOTATION_TYPE)
public @interface ConditionalPostconditionAnnotation
A meta-annotation that indicates that an annotation E is a conditional postcondition annotation,
 i.e., E is a type-specialized version of 
EnsuresQualifierIf or EnsuresQualifierIf.List.
 - If E is a type-specialized version of EnsuresQualifierIf, it must have- an element expressionthat is an array ofStrings, analogous toEnsuresQualifierIf.expression(), and
- an element resultwith the same meaning asEnsuresQualifierIf.result().
 
- an element 
- If E is a type-specialized version of EnsuresQualifierIf.List, it must have an elementvaluethat is an array of conditional postcondition annotations, analogous toEnsuresQualifierIf.List.value().
The established postcondition P has type specified by the qualifier field of this
 annotation. If the annotation E 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 E and P, if a QualifierArgument in E gives the name of the
 corresponding element in P.
 
For example, the following code declares a postcondition annotation for the MinLen qualifier:
 
 @ConditionalPostconditionAnnotation(qualifier = MinLen.class)
 @Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 public @interface EnsuresMinLen {
   String[] expression();
   boolean result();
   @QualifierArgument("value")
   int targetValue() default 0;
 expression 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 ensures field to be
 @MinLen(4) upon returning true.
 
 @EnsuresMinLenIf(expression = "field", result = true, targetValue = 4")
 public boolean isFieldBool() {
   return field == "true" || field == "false";
 }
 - See Also:
- 
Required Element SummaryRequired ElementsModifier and TypeRequired ElementDescriptionClass<? extends Annotation> The qualifier that will be established as a postcondition.
- 
Element Details- 
qualifierClass<? extends Annotation> qualifierThe qualifier that will be established as a postcondition.This element is analogous to EnsuresQualifierIf.qualifier().
 
-