Package edu.umd.cs.findbugs.ba.obl
Class ObligationPolicyDatabase
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.obl.ObligationPolicyDatabase
-
public class ObligationPolicyDatabase extends java.lang.Object
Policy database which defines which methods create and remove obligations.See Weimer and Necula, Finding and preventing run-time error handling mistakes, OOPSLA 2004.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashSet<Obligation>
allObligations
static boolean
DEBUG
private java.util.LinkedList<ObligationPolicyDatabaseEntry>
entryList
private ObligationFactory
factory
private boolean
strictChecking
-
Constructor Summary
Constructors Constructor Description ObligationPolicyDatabase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEntry(ObligationPolicyDatabaseEntry entry)
ObligationPolicyDatabaseEntry
addParameterDeletesObligationDatabaseEntry(XMethod xmethod, Obligation obligation, ObligationPolicyDatabaseEntryType entryType)
Add an appropriate policy database entry for parameters marked with the WillClose annotation.void
getActions(org.apache.bcel.generic.ReferenceType receiverType, java.lang.String methodName, java.lang.String signature, boolean isStatic, java.util.Collection<ObligationPolicyDatabaseAction> actionList)
java.util.Set<Obligation>
getAllObligations()
java.util.List<ObligationPolicyDatabaseEntry>
getEntries()
ObligationFactory
getFactory()
boolean
isStrictChecking()
void
setStrictChecking(boolean strictChecking)
-
-
-
Field Detail
-
DEBUG
public static final boolean DEBUG
-
factory
private final ObligationFactory factory
-
entryList
private final java.util.LinkedList<ObligationPolicyDatabaseEntry> entryList
-
allObligations
private final java.util.HashSet<Obligation> allObligations
-
strictChecking
private boolean strictChecking
-
-
Method Detail
-
getFactory
public ObligationFactory getFactory()
-
getAllObligations
public java.util.Set<Obligation> getAllObligations()
-
addEntry
public void addEntry(ObligationPolicyDatabaseEntry entry)
-
addParameterDeletesObligationDatabaseEntry
public ObligationPolicyDatabaseEntry addParameterDeletesObligationDatabaseEntry(XMethod xmethod, Obligation obligation, ObligationPolicyDatabaseEntryType entryType)
Add an appropriate policy database entry for parameters marked with the WillClose annotation.- Parameters:
xmethod
- a methodobligation
- the Obligation deleted by the methodentryType
- type of entry (STRONG or WEAK)
-
setStrictChecking
public void setStrictChecking(boolean strictChecking)
-
isStrictChecking
public boolean isStrictChecking()
-
getActions
public void getActions(org.apache.bcel.generic.ReferenceType receiverType, java.lang.String methodName, java.lang.String signature, boolean isStatic, java.util.Collection<ObligationPolicyDatabaseAction> actionList)
-
getEntries
public java.util.List<ObligationPolicyDatabaseEntry> getEntries()
-
-