public class QualifierDefaults extends Object
DefaultQualifier annotation.DefaultQualifier| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
QualifierDefaults.BoundType
Specifies whether the type variable or wildcard has an explicit upper bound (UPPER), an
 explicit lower bound (LOWER), or no explicit bounds (UNBOUNDED). 
 | 
protected class  | 
QualifierDefaults.DefaultApplierElement
A default applier element. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected ExecutableElement | 
defaultQualifierListValueElement
The value() element/field of a @DefaultQualifier.List annotation. 
 | 
protected ExecutableElement | 
defaultQualifierLocationsElement
The locations() element/field of a @DefaultQualifier annotation. 
 | 
protected ExecutableElement | 
defaultQualifierValueElement
The value() element/field of a @DefaultQualifier annotation. 
 | 
protected Map<Element,QualifierDefaults.BoundType> | 
elementToBoundType
Mapping from an Element to the bound type. 
 | 
static List<TypeUseLocation> | 
STANDARD_CLIMB_DEFAULTS_BOTTOM
CLIMB locations whose standard default is bottom for a given type system. 
 | 
static List<TypeUseLocation> | 
STANDARD_CLIMB_DEFAULTS_TOP
CLIMB locations whose standard default is top for a given type system. 
 | 
static List<TypeUseLocation> | 
STANDARD_UNCHECKED_DEFAULTS_BOTTOM
Standard unchecked default locations that should be bottom. 
 | 
static List<TypeUseLocation> | 
STANDARD_UNCHECKED_DEFAULTS_TOP
Standard unchecked default locations that should be top. 
 | 
| Constructor and Description | 
|---|
QualifierDefaults(Elements elements,
                 AnnotatedTypeFactory atypeFactory)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addCheckedCodeDefault(AnnotationMirror absoluteDefaultAnno,
                     TypeUseLocation location)
Sets the default annotations. 
 | 
void | 
addCheckedCodeDefaults(AnnotationMirror absoluteDefaultAnno,
                      TypeUseLocation[] locations)  | 
void | 
addClimbStandardDefaults()
Add standard CLIMB defaults that do not conflict with previously added defaults. 
 | 
void | 
addElementDefault(Element elem,
                 AnnotationMirror elementDefaultAnno,
                 TypeUseLocation location)
Sets the default annotations for a certain Element. 
 | 
void | 
addUncheckedCodeDefault(AnnotationMirror uncheckedDefaultAnno,
                       TypeUseLocation location)
Sets the default annotation for unchecked elements. 
 | 
void | 
addUncheckedCodeDefaults(AnnotationMirror absoluteDefaultAnno,
                        TypeUseLocation[] locations)
Sets the default annotation for unchecked elements, with specific locations. 
 | 
void | 
addUncheckedStandardDefaults()
Add standard unchecked defaults that do not conflict with previously added defaults. 
 | 
void | 
annotate(Element elt,
        AnnotatedTypeMirror type)
Applies default annotations to a type obtained from an  
Element. | 
void | 
annotate(Tree tree,
        AnnotatedTypeMirror type)
Applies default annotations to a type given a  
Tree. | 
boolean | 
applyConservativeDefaults(Element annotationScope)
Given an element, returns whether the conservative default should be applied for it. 
 | 
protected QualifierDefaults.DefaultApplierElement | 
createDefaultApplierElement(AnnotatedTypeFactory atypeFactory,
                           Element annotationScope,
                           AnnotatedTypeMirror type,
                           boolean applyToTypeVar)  | 
QualifierDefaults.BoundType | 
getWildcardBoundType(AnnotatedTypeMirror.AnnotatedWildcardType annotatedWildcard)
Returns the BoundType of annotatedWildcard. 
 | 
boolean | 
hasDefaultsForCheckedCode()
Check that a default with TypeUseLocation OTHERWISE or ALL is specified. 
 | 
String | 
toString()  | 
static List<TypeUseLocation> | 
validLocationsForUncheckedCodeDefaults()
Returns an array of locations that are valid for the unchecked value defaults. 
 | 
protected final ExecutableElement defaultQualifierValueElement
protected final ExecutableElement defaultQualifierLocationsElement
protected final ExecutableElement defaultQualifierListValueElement
protected final Map<Element,QualifierDefaults.BoundType> elementToBoundType
public static final List<TypeUseLocation> STANDARD_CLIMB_DEFAULTS_TOP
public static final List<TypeUseLocation> STANDARD_CLIMB_DEFAULTS_BOTTOM
public static final List<TypeUseLocation> STANDARD_UNCHECKED_DEFAULTS_TOP
public static final List<TypeUseLocation> STANDARD_UNCHECKED_DEFAULTS_BOTTOM
public QualifierDefaults(Elements elements, AnnotatedTypeFactory atypeFactory)
elements - interface to Element data in the current processing environmentatypeFactory - an annotation factory, used to get annotations by namepublic static List<TypeUseLocation> validLocationsForUncheckedCodeDefaults()
public boolean hasDefaultsForCheckedCode()
public void addUncheckedStandardDefaults()
public void addClimbStandardDefaults()
public void addCheckedCodeDefault(AnnotationMirror absoluteDefaultAnno, TypeUseLocation location)
public void addUncheckedCodeDefault(AnnotationMirror uncheckedDefaultAnno, TypeUseLocation location)
public void addUncheckedCodeDefaults(AnnotationMirror absoluteDefaultAnno, TypeUseLocation[] locations)
public void addCheckedCodeDefaults(AnnotationMirror absoluteDefaultAnno, TypeUseLocation[] locations)
public void addElementDefault(Element elem, AnnotationMirror elementDefaultAnno, TypeUseLocation location)
public void annotate(Element elt, AnnotatedTypeMirror type)
Element.elt - the element from which the type was obtainedtype - the type to annotatepublic void annotate(Tree tree, AnnotatedTypeMirror type)
Tree.tree - the tree from which the type was obtainedtype - the type to annotatepublic boolean applyConservativeDefaults(Element annotationScope)
annotationScope - the element that the conservative default might apply toprotected QualifierDefaults.DefaultApplierElement createDefaultApplierElement(AnnotatedTypeFactory atypeFactory, Element annotationScope, AnnotatedTypeMirror type, boolean applyToTypeVar)
public QualifierDefaults.BoundType getWildcardBoundType(AnnotatedTypeMirror.AnnotatedWildcardType annotatedWildcard)
annotatedWildcard - the annotated wildcard type