Package edu.umd.cs.findbugs.ba.jsr305
Class TypeQualifierAnnotationLookupResult
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.jsr305.TypeQualifierAnnotationLookupResult
-
- Direct Known Subclasses:
ParameterAnnotationLookupResult
,ReturnTypeAnnotationLookupResult
public class TypeQualifierAnnotationLookupResult extends java.lang.Object
The result of looking up a TypeQualifierAnnotation. Because type qualifiers are inherited, a full result of looking resolving a TypeQualifierAnnotation may include annotations on one or more supertypes. Potentially, the supertype annotations may conflict with each other, and/or conflict with the annotation on the annotated entity. This object makes it possible to report such conflicts, while still providing a convenient interface for getting the "effective" TypeQualifierAnnotation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TypeQualifierAnnotationLookupResult.PartialResult
Partial result of looking up a TypeQualifierAnnotation.
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<TypeQualifierAnnotationLookupResult.PartialResult>
partialResultList
-
Constructor Summary
Constructors Constructor Description TypeQualifierAnnotationLookupResult()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addPartialResult(TypeQualifierAnnotationLookupResult.PartialResult partialResult)
protected TypeQualifierAnnotation
combine(TypeQualifierAnnotation a, TypeQualifierAnnotation b)
Subclasses must override this method to combine TypeQualifierAnnotations found in multiple superclasses.TypeQualifierAnnotation
getEffectiveTypeQualifierAnnotation()
Get the effective TypeQualifierAnnotation.java.lang.String
toString()
-
-
-
Field Detail
-
partialResultList
private final java.util.List<TypeQualifierAnnotationLookupResult.PartialResult> partialResultList
-
-
Method Detail
-
addPartialResult
void addPartialResult(TypeQualifierAnnotationLookupResult.PartialResult partialResult)
-
getEffectiveTypeQualifierAnnotation
@CheckForNull public TypeQualifierAnnotation getEffectiveTypeQualifierAnnotation()
Get the effective TypeQualifierAnnotation.- Returns:
- the effective TypeQualifierAnnotation, or null if no effective TypeQualifierAnnotation can be found
-
combine
protected TypeQualifierAnnotation combine(TypeQualifierAnnotation a, TypeQualifierAnnotation b)
Subclasses must override this method to combine TypeQualifierAnnotations found in multiple superclasses.- Parameters:
a
- a TypeQualifierAnnotationb
- another TypeQualifierAnnotation- Returns:
- combined TypeQualifierAnnotation compatible with both input TypeQualifierAnnotations, or null if no such TypeQualifierAnnotation exists
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-