@Target(value=TYPE) @Inherited @Retention(value=RUNTIME) public @interface FieldInvariant
The @FieldInvariant annotation does not currently accommodate type qualifiers with
 attributes, such as @MinLen(1). In this case, the type system should implement its own
 field invariant annotation and override AnnotatedTypeFactory.getFieldInvariantDeclarationAnnotations()
 and AnnotatedTypeFactory.getFieldInvariants(TypeElement). See
 MinLenFieldInvariant for example.
| Modifier and Type | Required Element and Description | 
|---|---|
| String[] | fieldThe field that has a more precise type, in the class on which the  FieldInvariantannotation is written. | 
| Class<? extends Annotation>[] | qualifierThe qualifier on the field. | 
public abstract Class<? extends Annotation>[] qualifier
public abstract String[] field
FieldInvariant
 annotation is written. The field must be declared in a superclass and must be final.