Package edu.umd.cs.findbugs
Class FindBugs
- java.lang.Object
-
- edu.umd.cs.findbugs.FindBugs
-
public abstract class FindBugs extends java.lang.ObjectStatic methods and fields useful for working with instances of IFindBugsEngine. This class was previously the main driver for FindBugs analyses, but has been replaced byFindBugs2.- Author:
- Bill Pugh, David Hovemeyer
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUGDebug tracing.static AnalysisFeatureSetting[]DEFAULT_EFFORTAnalysis settings for -effort:default.static java.util.Set<java.lang.String>knownURLProtocolSetKnown URL protocols.static AnalysisFeatureSetting[]LESS_EFFORTAnalysis settings for -effort:less.static java.util.logging.LoggerLOGGERstatic AnalysisFeatureSetting[]MAX_EFFORTAnalysis settings for -effort:max.static AnalysisFeatureSetting[]MIN_EFFORTAnalysis settings for -effort:min.static longMINIMUM_TIMESTAMPDate of release of Java 1.0static AnalysisFeatureSetting[]MORE_EFFORTAnalysis settings for -effort:more.
-
Constructor Summary
Constructors Constructor Description FindBugs()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BugReporterconfigureBaselineFilter(BugReporter bugReporter, java.lang.String baselineFileName)Configure a baseline bug instance filter.static voidconfigureBugCollection(IFindBugsEngine findBugs)Configure the BugCollection (if the BugReporter being used is constructing one).static BugReporterconfigureFilter(BugReporter bugReporter, java.lang.String filterFileName, boolean include)Configure the (bug instance) Filter for the given DelegatingBugReporter.static voidconfigureTrainingDatabases(IFindBugsEngine findBugs)Configure training databases.static java.lang.StringgetHome()Get the FindBugs home directory.static java.util.Set<java.lang.String>handleBugCategories(java.lang.String categories)Process -bugCategories option.static booleanisDetectorEnabled(IFindBugsEngine findBugs, DetectorFactory factory, int rankThreshold)Determines whether or not given DetectorFactory should be enabled.static booleanisNoAnalysis()static booleanisNoMains()static voidprocessCommandLine(TextUICommandLine commandLine, java.lang.String[] argv, IFindBugsEngine findBugs)Process the command line.static voidrunMain(IFindBugsEngine findBugs, TextUICommandLine commandLine)Given a fully-configured IFindBugsEngine and the TextUICommandLine used to configure it, execute the analysis.static voidsetHome(java.lang.String home)Set the FindBugs home directory.static voidsetNoAnalysis()Disable analysis within FindBugs.static voidsetNoMains()Disable loading of FindBugsMain classes.static voidshowCommandLineOptions()Print command line options synopses to stdout.static voidshowCommandLineOptions(TextUICommandLine commandLine)Print command line options synopses to stdout.static voidshowHelp(TextUICommandLine commandLine)Show -help message.static voidshowSynopsis()Show the overall FindBugs command synopsis.static booleanvalidTimestamp(long timestamp)
-
-
-
Field Detail
-
MIN_EFFORT
public static final AnalysisFeatureSetting[] MIN_EFFORT
Analysis settings for -effort:min.
-
LESS_EFFORT
public static final AnalysisFeatureSetting[] LESS_EFFORT
Analysis settings for -effort:less.
-
DEFAULT_EFFORT
public static final AnalysisFeatureSetting[] DEFAULT_EFFORT
Analysis settings for -effort:default.
-
MORE_EFFORT
public static final AnalysisFeatureSetting[] MORE_EFFORT
Analysis settings for -effort:more.
-
MAX_EFFORT
public static final AnalysisFeatureSetting[] MAX_EFFORT
Analysis settings for -effort:max.
-
DEBUG
public static final boolean DEBUG
Debug tracing.
-
LOGGER
public static final java.util.logging.Logger LOGGER
-
knownURLProtocolSet
@StaticConstant public static final java.util.Set<java.lang.String> knownURLProtocolSet
Known URL protocols. Filename URLs that do not have an explicit protocol are assumed to be files.
-
MINIMUM_TIMESTAMP
public static final long MINIMUM_TIMESTAMP
Date of release of Java 1.0
-
-
Method Detail
-
setNoAnalysis
public static void setNoAnalysis()
Disable analysis within FindBugs. Turns off loading of bug detectors.
-
isNoAnalysis
public static boolean isNoAnalysis()
- Returns:
- Returns the noAnalysis.
-
setNoMains
public static void setNoMains()
Disable loading of FindBugsMain classes.
-
isNoMains
public static boolean isNoMains()
- Returns:
- Returns the noMains.
-
setHome
public static void setHome(java.lang.String home)
Set the FindBugs home directory.
-
getHome
public static java.lang.String getHome()
Get the FindBugs home directory.
-
configureTrainingDatabases
public static void configureTrainingDatabases(IFindBugsEngine findBugs) throws java.io.IOException
Configure training databases.- Parameters:
findBugs- the IFindBugsEngine to configure- Throws:
java.io.IOException
-
isDetectorEnabled
public static boolean isDetectorEnabled(IFindBugsEngine findBugs, DetectorFactory factory, int rankThreshold)
Determines whether or not given DetectorFactory should be enabled.- Parameters:
findBugs- the IFindBugsEnginefactory- the DetectorFactoryrankThreshold- TODO- Returns:
- true if the DetectorFactory should be enabled, false otherwise
-
handleBugCategories
public static java.util.Set<java.lang.String> handleBugCategories(java.lang.String categories)
Process -bugCategories option.- Parameters:
categories- comma-separated list of bug categories- Returns:
- Set of categories to be used
-
processCommandLine
public static void processCommandLine(TextUICommandLine commandLine, java.lang.String[] argv, IFindBugsEngine findBugs) throws java.io.IOException, FilterException
Process the command line.- Parameters:
commandLine- the TextUICommandLine object which will parse the command lineargv- the command line argumentsfindBugs- the IFindBugsEngine to configure- Throws:
java.io.IOExceptionFilterException
-
showHelp
public static void showHelp(TextUICommandLine commandLine)
Show -help message.- Parameters:
commandLine-
-
runMain
public static void runMain(IFindBugsEngine findBugs, TextUICommandLine commandLine) throws java.io.IOException
Given a fully-configured IFindBugsEngine and the TextUICommandLine used to configure it, execute the analysis.- Parameters:
findBugs- a fully-configured IFindBugsEnginecommandLine- the TextUICommandLine used to configure the IFindBugsEngine- Throws:
java.io.IOException
-
showCommandLineOptions
public static void showCommandLineOptions()
Print command line options synopses to stdout.
-
showCommandLineOptions
public static void showCommandLineOptions(TextUICommandLine commandLine)
Print command line options synopses to stdout.- Parameters:
commandLine- the TextUICommandLine whose options should be printed
-
showSynopsis
public static void showSynopsis()
Show the overall FindBugs command synopsis.
-
configureFilter
public static BugReporter configureFilter(BugReporter bugReporter, java.lang.String filterFileName, boolean include) throws java.io.IOException, FilterException
Configure the (bug instance) Filter for the given DelegatingBugReporter.- Parameters:
bugReporter- a DelegatingBugReporterfilterFileName- filter file nameinclude- true if the filter is an include filter, false if it's an exclude filter- Throws:
java.io.IOExceptionFilterException
-
configureBaselineFilter
public static BugReporter configureBaselineFilter(BugReporter bugReporter, java.lang.String baselineFileName) throws java.io.IOException, org.dom4j.DocumentException
Configure a baseline bug instance filter.- Parameters:
bugReporter- a DelegatingBugReporterbaselineFileName- filename of baseline Filter- Throws:
java.io.IOExceptionorg.dom4j.DocumentException
-
configureBugCollection
public static void configureBugCollection(IFindBugsEngine findBugs)
Configure the BugCollection (if the BugReporter being used is constructing one).- Parameters:
findBugs- the IFindBugsEngine
-
validTimestamp
public static boolean validTimestamp(long timestamp)
-
-