public class FieldInvariants extends Object
@FieldInvariant. Think of
 this as a set of (field, qualifier) pairs.
 A FieldInvariants object may be malformed (inconsistent number of fields and qualifiers). In this case, the BaseTypeVisitor will issue an error.
| Constructor and Description | 
|---|
FieldInvariants(FieldInvariants other,
               List<String> fields,
               List<AnnotationMirror> qualifiers)
Creates a new object with all the invariants in  
other, plus those specified by fields and qualifiers. | 
FieldInvariants(List<String> fields,
               List<AnnotationMirror> qualifiers)
Creates a new FieldInvariants object. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
List<String> | 
getFields()
The simple names of the fields that have a qualifier. 
 | 
List<AnnotationMirror> | 
getQualifiersFor(CharSequence field)
Returns a list of qualifiers for  
field. | 
DiagMessage | 
isSuperInvariant(FieldInvariants superInvar,
                AnnotatedTypeFactory factory)
Returns null if  
superInvar is a super invariant, otherwise returns the error message. | 
boolean | 
isWellFormed()
Returns true if there is a qualifier for each field in  
fields. | 
public FieldInvariants(List<String> fields, List<AnnotationMirror> qualifiers)
fields.fields - list of fieldsqualifiers - list of qualifierspublic FieldInvariants(FieldInvariants other, List<String> fields, List<AnnotationMirror> qualifiers)
other, plus those specified by fields and qualifiers. The result is well-formed if length of qualifiers is either 1
 or equal to length of fields.other - other invariant object, may be nullfields - list of fieldsqualifiers - list of qualifierspublic List<String> getFields()
public List<AnnotationMirror> getQualifiersFor(CharSequence field)
field. If field has no qualifiers, returns
 an empty list.field - simple field namefield, possibly emptypublic boolean isWellFormed()
fields.fieldspublic DiagMessage isSuperInvariant(FieldInvariants superInvar, AnnotatedTypeFactory factory)
superInvar is a super invariant, otherwise returns the error message.superInvar - the value to check for being a super invariantfactory - the type factorysuperInvar is a super invariant, otherwise returns the error message