Class TextUIBugReporter

java.lang.Object
edu.umd.cs.findbugs.AbstractBugReporter
edu.umd.cs.findbugs.TextUIBugReporter
All Implemented Interfaces:
RepositoryLookupFailureCallback, BugReporter, IClassObserver, IErrorLogger, ConfigurableBugReporter
Direct Known Subclasses:
BugCollectionBugReporter, EmacsBugReporter, PrintingBugReporter, SortingBugReporter, XDocsBugReporter

public abstract class TextUIBugReporter extends AbstractBugReporter implements ConfigurableBugReporter
Base class for BugReporters which provides convenient formatting and reporting of warnings and analysis errors.

"TextUIBugReporter" is a bit of a misnomer, since this class is useful in GUIs, too.

  • Field Details

    • reportStackTrace

      private boolean reportStackTrace
    • useLongBugCodes

      private boolean useLongBugCodes
    • showRank

      private boolean showRank
    • reportHistory

      private boolean reportHistory
    • applySuppressions

      private boolean applySuppressions
    • outputTarget

      private String outputTarget
    • OTHER_CATEGORY_ABBREV

      static final String OTHER_CATEGORY_ABBREV
      See Also:
    • outputStream

      protected PrintWriter outputStream
    • analysisErrors

      private boolean analysisErrors
    • missingClasses

      private boolean missingClasses
  • Constructor Details

    • TextUIBugReporter

      protected TextUIBugReporter()
  • Method Details

    • setOutputStream

      public void setOutputStream(PrintStream outputStream)
      Set the PrintStream to write bug output to.
      Specified by:
      setOutputStream in interface ConfigurableBugReporter
      Parameters:
      outputStream - the PrintStream to write bug output to
    • setWriter

      public void setWriter(PrintWriter writer)
    • setReportStackTrace

      public void setReportStackTrace(boolean reportStackTrace)
      Set whether or not stack traces should be reported in error output.
      Parameters:
      reportStackTrace - true if stack traces should be reported, false if not
    • printBug

      protected void printBug(BugInstance bugInstance)
      Print bug in one-line format.
      Parameters:
      bugInstance - the bug to print
    • reportQueuedErrors

      public void reportQueuedErrors()
      Description copied from interface: BugReporter
      Report any accumulated error messages.
      Specified by:
      reportQueuedErrors in interface BugReporter
      Overrides:
      reportQueuedErrors in class AbstractBugReporter
    • reportAnalysisError

      public void reportAnalysisError(AnalysisError error)
      Description copied from class: AbstractBugReporter
      Report a queued error.
      Specified by:
      reportAnalysisError in class AbstractBugReporter
      Parameters:
      error - the queued error
    • reportMissingClass

      public void reportMissingClass(String message)
      Description copied from class: AbstractBugReporter
      Report a missing class.
      Specified by:
      reportMissingClass in class AbstractBugReporter
      Parameters:
      message - the name of the class
    • emitLine

      protected void emitLine(String line)
      Emit one line of the error message report. By default, error messages are printed to System.err. Subclasses may override.
      Parameters:
      line - one line of the error report
    • getUseLongBugCodes

      public boolean getUseLongBugCodes()
    • setReportHistory

      public void setReportHistory(boolean reportHistory)
    • setUseLongBugCodes

      public void setUseLongBugCodes(boolean useLongBugCodes)
      Specified by:
      setUseLongBugCodes in interface ConfigurableBugReporter
    • setShowRank

      public void setShowRank(boolean showRank)
    • setApplySuppressions

      public void setApplySuppressions(boolean applySuppressions)
    • getRealBugReporter

      public BugReporter getRealBugReporter()
    • checkBugInstance

      protected void checkBugInstance(BugInstance bugInstance)
      For debugging: check a BugInstance to make sure it is valid.
      Parameters:
      bugInstance - the BugInstance to check
    • getOutputTarget

      public String getOutputTarget()
    • setOutputTarget

      public void setOutputTarget(String key)
    • isDuplicateOf

      public boolean isDuplicateOf(TextUIBugReporter other)
    • isApplySuppressions

      public boolean isApplySuppressions()