@Documented @Retention(value=RUNTIME) @Target(value=METHOD) @InheritedAnnotation public @interface EnsuresQualifierIf
result. The expressions for which the annotation must hold after the method's execution
 are indicated by expression and are specified using a string. The qualifier is specified
 by the qualifier annotation argument.
 Here is an example use:
    @EnsuresQualifierIf(result = true, expression = "#1", qualifier = Odd.class)
    boolean isOdd(final int p1, int p2) {
        return p1 % 2 == 1;
    }
 
 This annotation is only applicable to methods with a boolean return type.
Some type systems have specialized versions of this annotation, such as @EnsuresNonNullIf and @EnsuresLockHeldIf.
EnsuresQualifiersIf, 
EnsuresQualifier| Modifier and Type | Required Element and Description | 
|---|---|
java.lang.String[] | 
expression
The Java expressions for which the qualifier holds if the method terminates with return value
  
result(). | 
java.lang.Class<? extends java.lang.annotation.Annotation> | 
qualifier
The qualifier that is guaranteed to hold if the method terminates with return value  
result(). | 
boolean | 
result
The return value of the method that needs to hold for the postcondition to hold. 
 | 
public abstract java.lang.String[] expression
result().public abstract java.lang.Class<? extends java.lang.annotation.Annotation> qualifier
result().