Package edu.umd.cs.findbugs
Class DelegatingBugReporter
- java.lang.Object
-
- edu.umd.cs.findbugs.DelegatingBugReporter
-
- All Implemented Interfaces:
RepositoryLookupFailureCallback,BugReporter,IClassObserver,IErrorLogger
- Direct Known Subclasses:
CategoryFilteringBugReporter,ErrorCountingBugReporter,ExcludingHashesBugReporter,FilterBugReporter
public class DelegatingBugReporter extends java.lang.Object implements BugReporter
A BugReporter which delegates all method calls to another BugReporter. This is useful for customizing the behavior of another bug reporter.- Author:
- David Hovemeyer
-
-
Field Summary
-
Fields inherited from interface edu.umd.cs.findbugs.BugReporter
NORMAL, SILENT
-
-
Constructor Summary
Constructors Constructor Description DelegatingBugReporter(BugReporter delegate)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObserver(BugReporterObserver observer)Add an observer.voidfinish()Finish reporting bugs.BugReportergetDelegate()ProjectStatsgetProjectStats()Get ProjectStats object used to store statistics about the overall project being analyzed.BugReportergetRealBugReporter()Get the real bug reporter at the end of a chain of delegating bug reporters.voidlogError(java.lang.String message)Log an error that occurs while performing analysis.voidlogError(java.lang.String message, java.lang.Throwable e)Log an error that occurs while performing analysis.voidobserveClass(ClassDescriptor classDescriptor)Observe a class being visited.voidreportBug(BugInstance bugInstance)Report a bug.voidreportMissingClass(ClassDescriptor classDescriptor)Called to report a class lookup failure.voidreportMissingClass(java.lang.ClassNotFoundException ex)Called to report a class lookup failure.voidreportQueuedErrors()Report any accumulated error messages.voidreportSkippedAnalysis(MethodDescriptor method)Report that we skipped some analysis of a methodvoidsetDelegate(BugReporter delegate)Set BugReporter to delegate reported BugInstances to.voidsetErrorVerbosity(int level)Set the error-reporting verbosity level.voidsetPriorityThreshold(int threshold)Set the priority threshold.
-
-
-
Constructor Detail
-
DelegatingBugReporter
public DelegatingBugReporter(BugReporter delegate)
Constructor.- Parameters:
delegate- another BugReporter to delegate all BugReporter methods to
-
-
Method Detail
-
getRealBugReporter
public BugReporter getRealBugReporter()
Description copied from interface:BugReporterGet the real bug reporter at the end of a chain of delegating bug reporters. All non-delegating bug reporters should simply "return this".- Specified by:
getRealBugReporterin interfaceBugReporter- Returns:
- the real bug reporter at the end of the chain, or this object if there is no delegation
-
setDelegate
public void setDelegate(BugReporter delegate)
Set BugReporter to delegate reported BugInstances to.- Parameters:
delegate- BugReporter to delegate all BugReporter methods to
-
getDelegate
public BugReporter getDelegate()
-
setErrorVerbosity
public void setErrorVerbosity(int level)
Description copied from interface:BugReporterSet the error-reporting verbosity level.- Specified by:
setErrorVerbosityin interfaceBugReporter- Parameters:
level- the verbosity level
-
setPriorityThreshold
public void setPriorityThreshold(int threshold)
Description copied from interface:BugReporterSet the priority threshold.- Specified by:
setPriorityThresholdin interfaceBugReporter- Parameters:
threshold- bug instances must be at least as important as this priority to be reported
-
observeClass
public void observeClass(ClassDescriptor classDescriptor)
Description copied from interface:IClassObserverObserve a class being visited.- Specified by:
observeClassin interfaceIClassObserver- Parameters:
classDescriptor- class being visited
-
reportBug
public void reportBug(BugInstance bugInstance)
Description copied from interface:BugReporterReport a bug. The implementation may report the bug immediately, or queue it for later.- Specified by:
reportBugin interfaceBugReporter- Parameters:
bugInstance- object describing the bug instance
-
logError
public void logError(java.lang.String message)
Description copied from interface:IErrorLoggerLog an error that occurs while performing analysis.- Specified by:
logErrorin interfaceIErrorLogger- Parameters:
message- the error message
-
reportMissingClass
public void reportMissingClass(java.lang.ClassNotFoundException ex)
Description copied from interface:IErrorLoggerCalled to report a class lookup failure.- Specified by:
reportMissingClassin interfaceIErrorLogger- Parameters:
ex- a ClassNotFoundException resulting from the class lookup failure
-
reportMissingClass
public void reportMissingClass(ClassDescriptor classDescriptor)
Description copied from interface:IErrorLoggerCalled to report a class lookup failure.- Specified by:
reportMissingClassin interfaceIErrorLogger- Parameters:
classDescriptor- ClassDescriptor of a missing class
-
finish
public void finish()
Description copied from interface:BugReporterFinish reporting bugs. If any bug reports have been queued, calling this method will flush them.- Specified by:
finishin interfaceBugReporter
-
reportQueuedErrors
public void reportQueuedErrors()
Description copied from interface:BugReporterReport any accumulated error messages.- Specified by:
reportQueuedErrorsin interfaceBugReporter
-
addObserver
public void addObserver(BugReporterObserver observer)
Description copied from interface:BugReporterAdd an observer.- Specified by:
addObserverin interfaceBugReporter- Parameters:
observer- the observer
-
getProjectStats
public ProjectStats getProjectStats()
Description copied from interface:BugReporterGet ProjectStats object used to store statistics about the overall project being analyzed.- Specified by:
getProjectStatsin interfaceBugReporter
-
logError
public void logError(java.lang.String message, java.lang.Throwable e)Description copied from interface:IErrorLoggerLog an error that occurs while performing analysis.- Specified by:
logErrorin interfaceIErrorLogger- Parameters:
message- the error messagee- the exception which is the underlying cause of the error
-
reportSkippedAnalysis
public void reportSkippedAnalysis(MethodDescriptor method)
Report that we skipped some analysis of a method- Specified by:
reportSkippedAnalysisin interfaceIErrorLogger- Parameters:
method-
-
-