Package edu.umd.cs.findbugs
Class AbstractBugReporter
java.lang.Object
edu.umd.cs.findbugs.AbstractBugReporter
- All Implemented Interfaces:
RepositoryLookupFailureCallback
,BugReporter
,IClassObserver
,IErrorLogger
- Direct Known Subclasses:
TextUIBugReporter
An abstract class which provides much of the functionality required of all
BugReporter objects.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface edu.umd.cs.findbugs.BugReporter
NORMAL, SILENT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addObserver
(BugReporterObserver observer) Add an observer.protected abstract void
doReportBug
(BugInstance bugInstance) Subclasses must override this.static String
Get ProjectStats object used to store statistics about the overall project being analyzed.protected boolean
protected static final boolean
isValidMissingClassMessage
(String message) void
Log an error that occurs while performing analysis.void
Log an error that occurs while performing analysis.protected void
notifyObservers
(BugInstance bugInstance) This should be called when a bug is reported by a subclass.abstract void
reportAnalysisError
(AnalysisError error) Report a queued error.final void
reportBug
(BugInstance bugInstance) Report a bug.final void
reportBugsFromXml
(InputStream in, Project theProject) void
reportMissingClass
(ClassDescriptor classDescriptor) Called to report a class lookup failure.void
Called to report a class lookup failure.abstract void
reportMissingClass
(String string) Report a missing class.void
Report any accumulated error messages.void
Report that we skipped some analysis of a methodvoid
setErrorVerbosity
(int level) Set the error-reporting verbosity level.void
setIsRelaxed
(boolean relaxed) void
setPriorityThreshold
(int threshold) Set the priority threshold.void
setRankThreshold
(int threshold) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.umd.cs.findbugs.BugReporter
finish, getBugCollection
Methods inherited from interface edu.umd.cs.findbugs.classfile.IClassObserver
observeClass
-
Constructor Details
-
AbstractBugReporter
public AbstractBugReporter()
-
-
Method Details
-
setErrorVerbosity
public void setErrorVerbosity(int level) Description copied from interface:BugReporter
Set the error-reporting verbosity level.- Specified by:
setErrorVerbosity
in interfaceBugReporter
- Parameters:
level
- the verbosity level
-
setPriorityThreshold
public void setPriorityThreshold(int threshold) Description copied from interface:BugReporter
Set the priority threshold.- Specified by:
setPriorityThreshold
in interfaceBugReporter
- Parameters:
threshold
- bug instances must be at least as important as this priority to be reported
-
setRankThreshold
public void setRankThreshold(int threshold) -
setIsRelaxed
public void setIsRelaxed(boolean relaxed) -
isRelaxed
protected boolean isRelaxed() -
reportBug
Description copied from interface:BugReporter
Report a bug. The implementation may report the bug immediately, or queue it for later.- Specified by:
reportBug
in interfaceBugReporter
- Parameters:
bugInstance
- object describing the bug instance
-
reportBugsFromXml
public final void reportBugsFromXml(@WillClose InputStream in, Project theProject) throws IOException, org.dom4j.DocumentException - Throws:
IOException
org.dom4j.DocumentException
-
getMissingClassName
-
reportMissingClass
Description copied from interface:IErrorLogger
Called to report a class lookup failure.- Specified by:
reportMissingClass
in interfaceIErrorLogger
- Parameters:
ex
- a ClassNotFoundException resulting from the class lookup failure
-
isValidMissingClassMessage
-
reportMissingClass
Description copied from interface:IErrorLogger
Called to report a class lookup failure.- Specified by:
reportMissingClass
in interfaceIErrorLogger
- Parameters:
classDescriptor
- ClassDescriptor of a missing class
-
reportSkippedAnalysis
Report that we skipped some analysis of a method- Specified by:
reportSkippedAnalysis
in interfaceIErrorLogger
- Parameters:
method
-
-
logError
Description copied from interface:IErrorLogger
Log an error that occurs while performing analysis.- Specified by:
logError
in interfaceIErrorLogger
- Parameters:
message
- the error message
-
getQueuedErrors
- Returns:
- the set with all analysis errors reported so far
-
getMissingClasses
- Returns:
- the set with all missing classes reported so far
-
logError
Description copied from interface:IErrorLogger
Log an error that occurs while performing analysis.- Specified by:
logError
in interfaceIErrorLogger
- Parameters:
message
- the error messagee
- the exception which is the underlying cause of the error
-
reportQueuedErrors
public void reportQueuedErrors()Description copied from interface:BugReporter
Report any accumulated error messages.- Specified by:
reportQueuedErrors
in interfaceBugReporter
-
addObserver
Description copied from interface:BugReporter
Add an observer.- Specified by:
addObserver
in interfaceBugReporter
- Parameters:
observer
- the observer
-
getProjectStats
Description copied from interface:BugReporter
Get ProjectStats object used to store statistics about the overall project being analyzed.- Specified by:
getProjectStats
in interfaceBugReporter
-
notifyObservers
This should be called when a bug is reported by a subclass.- Parameters:
bugInstance
- the bug to inform observers of
-
doReportBug
Subclasses must override this. It will be called only for bugs which meet the priority threshold.- Parameters:
bugInstance
- the bug to report
-
reportAnalysisError
Report a queued error.- Parameters:
error
- the queued error
-
reportMissingClass
Report a missing class.- Parameters:
string
- the name of the class
-