Package edu.umd.cs.findbugs.ba
Class AnnotationDatabase<AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>>
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.AnnotationDatabase<AnnotationEnum>
-
- Direct Known Subclasses:
CheckReturnAnnotationDatabase,DefaultEncodingDetector.DefaultEncodingAnnotationDatabase,NullnessAnnotationDatabase
public class AnnotationDatabase<AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> extends java.lang.ObjectDatabase to keep track of annotated fields/methods/classes/etc. for a particular kind of annotation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAnnotationDatabase.Target
-
Field Summary
Fields Modifier and Type Field Description (package private) booleanaddClassOnly(package private) java.util.Map<java.lang.Object,AnnotationEnum>cachedMaximal(package private) java.util.Map<java.lang.Object,AnnotationEnum>cachedMinimal(package private) static booleanDEBUGprivate java.util.Map<AnnotationDatabase.Target,java.util.Map<java.lang.String,AnnotationEnum>>defaultAnnotationprivate java.util.Map<java.lang.Object,AnnotationEnum>directAnnotationsstatic booleanIGNORE_BUILTIN_ANNOTATIONSprivate java.util.Set<AnnotationEnum>seen
-
Constructor Summary
Constructors Constructor Description AnnotationDatabase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDefaultAnnotation(AnnotationDatabase.Target target, java.lang.String c, AnnotationEnum n)protected voidaddDefaultMethodAnnotation(java.lang.String cName, AnnotationEnum annotation)voidaddDirectAnnotation(java.lang.Object o, AnnotationEnum n)protected voidaddFieldAnnotation(java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)protected voidaddMethodAnnotation(java.lang.Class<?> clazz, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)protected voidaddMethodAnnotation(java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)protected voidaddMethodParameterAnnotation(java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, int param, AnnotationEnum annotation)booleanannotationIsDirect(java.lang.Object o)booleananyAnnotations(AnnotationEnum n)private booleanclassDefinesMethod(org.apache.bcel.classfile.JavaClass c, XMethod m)AnnotationEnumgetDirectAnnotation(java.lang.Object o)AnnotationEnumgetResolvedAnnotation(java.lang.Object o, boolean getMinimal)AnnotationEnumgetUncachedResolvedAnnotation(java.lang.Object o, boolean getMinimal)voidloadAuxiliaryAnnotations()private AnnotationEnumlookInOverriddenMethod(java.lang.Object originalQuery, java.lang.String classToLookIn, XMethod originalMethod, boolean getMinimal)private booleanonlyAppliesToReferenceParameters(AnnotationEnum annotation)booleansetAddClassOnly(boolean newValue)
-
-
-
Field Detail
-
DEBUG
static final boolean DEBUG
-
IGNORE_BUILTIN_ANNOTATIONS
public static final boolean IGNORE_BUILTIN_ANNOTATIONS
-
directAnnotations
private final java.util.Map<java.lang.Object,AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> directAnnotations
-
defaultAnnotation
private final java.util.Map<AnnotationDatabase.Target,java.util.Map<java.lang.String,AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>>> defaultAnnotation
-
seen
private final java.util.Set<AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> seen
-
cachedMinimal
java.util.Map<java.lang.Object,AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> cachedMinimal
-
cachedMaximal
java.util.Map<java.lang.Object,AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> cachedMaximal
-
addClassOnly
boolean addClassOnly
-
-
Method Detail
-
loadAuxiliaryAnnotations
public void loadAuxiliaryAnnotations()
-
addDirectAnnotation
public void addDirectAnnotation(java.lang.Object o, AnnotationEnum n)
-
addDefaultAnnotation
public void addDefaultAnnotation(AnnotationDatabase.Target target, java.lang.String c, AnnotationEnum n)
-
anyAnnotations
public boolean anyAnnotations(AnnotationEnum n)
-
getResolvedAnnotation
@CheckForNull public AnnotationEnum getResolvedAnnotation(java.lang.Object o, boolean getMinimal)
-
annotationIsDirect
public boolean annotationIsDirect(java.lang.Object o)
-
getUncachedResolvedAnnotation
@CheckForNull public AnnotationEnum getUncachedResolvedAnnotation(java.lang.Object o, boolean getMinimal)
-
getDirectAnnotation
public AnnotationEnum getDirectAnnotation(java.lang.Object o)
-
classDefinesMethod
private boolean classDefinesMethod(org.apache.bcel.classfile.JavaClass c, XMethod m)
-
lookInOverriddenMethod
private AnnotationEnum lookInOverriddenMethod(java.lang.Object originalQuery, java.lang.String classToLookIn, XMethod originalMethod, boolean getMinimal)
-
setAddClassOnly
public boolean setAddClassOnly(boolean newValue)
-
addDefaultMethodAnnotation
protected void addDefaultMethodAnnotation(java.lang.String cName, AnnotationEnum annotation)
-
addFieldAnnotation
protected void addFieldAnnotation(java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)
-
addMethodAnnotation
protected void addMethodAnnotation(java.lang.Class<?> clazz, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)
-
addMethodAnnotation
protected void addMethodAnnotation(@DottedClassName java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, AnnotationEnum annotation)
-
onlyAppliesToReferenceParameters
private boolean onlyAppliesToReferenceParameters(AnnotationEnum annotation)
-
addMethodParameterAnnotation
protected void addMethodParameterAnnotation(java.lang.String cName, java.lang.String mName, java.lang.String mSig, boolean isStatic, int param, AnnotationEnum annotation)
-
-