Package edu.umd.cs.findbugs.config
Class UserPreferences
java.lang.Object
edu.umd.cs.findbugs.config.UserPreferences
- All Implemented Interfaces:
Cloneable
User Preferences outside of any one Project. This consists of a class to
manage the findbugs.prop file found in the user.home.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final char
Separator string for values composed from a string and booleanprivate static final String
private String
static final String
private static final String
static final String
static final String
private static final String
private static final String
private ProjectFilterSettings
static final String
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0static final String
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0static final String
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0static final String
Key prefix for custom plugins, full key consists of a prefix + plugin index starting with 0private static final int
private static final String
private LinkedList
<String> private static final String
private boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
static UserPreferences
Create default UserPreferences.void
enableAllDetectors
(boolean enable) Enable or disable all known Detectors.void
enableDetector
(DetectorFactory factory, boolean enable) Set the enabled/disabled status of given Detector.boolean
Returns the effort level as an array of feature settings as expected by FindBugs.Additional plugins which could be used byIFindBugsEngine
(if enabled), or which shouldn't be used (if disabled).getCustomPlugins
(boolean enabled) Additional plugins which could be used or shouldn't be used (depending on given argument) byIFindBugsEngine
.Get ProjectFilterSettings.Get List of recent project filenames.int
Get the detector threshold (min severity to report a warning).int
hashCode()
boolean
isDetectorEnabled
(DetectorFactory factory) Get the enabled/disabled status of given Detector.boolean
Get the enabled/disabled status of runAtFullBuildvoid
read()
Read persistent global UserPreferences from file in the user's home directory.void
read
(InputStream in) Read user preferences from given input stream.readProperties
(Properties props, String keyPrefix) Helper method to read array of strings out of the properties file, using a Findbugs style format.void
removeProject
(String projectName) Remove project filename from the recently-used project list.void
setCustomPlugins
(Map<String, Boolean> customPlugins) Additional plugins which could be used byIFindBugsEngine
(if enabled), or which shouldn't be used (if disabled).void
void
setExcludeBugsFiles
(Map<String, Boolean> excludeBugsFiles) void
setExcludeFilterFiles
(Map<String, Boolean> excludeFilterFiles) void
setIncludeFilterFiles
(Map<String, Boolean> includeFilterFiles) void
setProjectFilterSettings
(ProjectFilterSettings filterSettings) Set the ProjectFilterSettings.void
setRunAtFullBuild
(boolean enable) Set the enabled/disabled status of running findbugs automatically for full builds.void
setUserDetectorThreshold
(int threshold) Set the detector threshold (min severity to report a warning).void
setUserDetectorThreshold
(String threshold) Set the detector threshold (min severity to report a warning).void
useProject
(String projectName) Add given project filename to the front of the recently-used project list.void
write()
Write persistent global UserPreferences to file in user's home directory.void
write
(OutputStream out) Write UserPreferences to given OutputStream.private static void
writeProperties
(Properties props, String keyPrefix, Map<String, Boolean> filters) Helper method to write array of strings out of the properties file, using a Findbugs style format.
-
Field Details
-
BOOL_SEPARATOR
private static final char BOOL_SEPARATORSeparator string for values composed from a string and boolean- See Also:
-
EFFORT_MIN
- See Also:
-
EFFORT_DEFAULT
- See Also:
-
EFFORT_MAX
- See Also:
-
KEY_PLUGIN
Key prefix for custom plugins, full key consists of a prefix + plugin index starting with 0- See Also:
-
PREF_FILE_NAME
- See Also:
-
MAX_RECENT_FILES
private static final int MAX_RECENT_FILES- See Also:
-
DETECTOR_THRESHOLD_KEY
- See Also:
-
FILTER_SETTINGS_KEY
- See Also:
-
FILTER_SETTINGS2_KEY
- See Also:
-
RUN_AT_FULL_BUILD
- See Also:
-
EFFORT_KEY
- See Also:
-
KEY_INCLUDE_FILTER
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
-
KEY_EXCLUDE_FILTER
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
-
KEY_EXCLUDE_BUGS
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
-
recentProjectsList
-
detectorEnablementMap
-
filterSettings
-
runAtFullBuild
private boolean runAtFullBuild -
effort
-
includeFilterFiles
-
excludeFilterFiles
-
excludeBugsFiles
-
customPlugins
-
-
Constructor Details
-
UserPreferences
private UserPreferences()
-
-
Method Details
-
createDefaultUserPreferences
Create default UserPreferences.- Returns:
- default UserPreferences
-
read
public void read()Read persistent global UserPreferences from file in the user's home directory. -
read
Read user preferences from given input stream. The InputStream is guaranteed to be closed by this method.- Parameters:
in
- the InputStream- Throws:
IOException
-
write
public void write()Write persistent global UserPreferences to file in user's home directory. -
write
Write UserPreferences to given OutputStream. The OutputStream is guaranteed to be closed by this method.- Parameters:
out
- the OutputStream- Throws:
IOException
-
getRecentProjects
Get List of recent project filenames.- Returns:
- List of recent project filenames
-
useProject
Add given project filename to the front of the recently-used project list.- Parameters:
projectName
- project filename
-
removeProject
Remove project filename from the recently-used project list.- Parameters:
projectName
- project filename
-
enableDetector
Set the enabled/disabled status of given Detector.- Parameters:
factory
- the DetectorFactory for the Detector to be enabled/disabledenable
- true if the Detector should be enabled, false if it should be Disabled
-
isDetectorEnabled
Get the enabled/disabled status of given Detector.- Parameters:
factory
- the DetectorFactory of the Detector- Returns:
- true if the Detector is enabled, false if not
-
enableAllDetectors
public void enableAllDetectors(boolean enable) Enable or disable all known Detectors.- Parameters:
enable
- true if all detectors should be enabled, false if they should all be disabled
-
setProjectFilterSettings
Set the ProjectFilterSettings.- Parameters:
filterSettings
- the ProjectFilterSettings
-
getFilterSettings
Get ProjectFilterSettings.- Returns:
- the ProjectFilterSettings
-
getUserDetectorThreshold
public int getUserDetectorThreshold()Get the detector threshold (min severity to report a warning).- Returns:
- the detector threshold
-
setUserDetectorThreshold
public void setUserDetectorThreshold(int threshold) Set the detector threshold (min severity to report a warning).- Parameters:
threshold
- the detector threshold
-
setRunAtFullBuild
public void setRunAtFullBuild(boolean enable) Set the enabled/disabled status of running findbugs automatically for full builds.- Parameters:
enable
- true if running FindBugs at full builds should be enabled, false if it should be Disabled
-
isRunAtFullBuild
public boolean isRunAtFullBuild()Get the enabled/disabled status of runAtFullBuild- Returns:
- true if the running for full builds is enabled, false if not
-
setUserDetectorThreshold
Set the detector threshold (min severity to report a warning).- Parameters:
threshold
- the detector threshold
-
equals
-
hashCode
public int hashCode() -
clone
-
getEffort
-
setEffort
-
getIncludeFilterFiles
-
setIncludeFilterFiles
-
getExcludeBugsFiles
-
setExcludeBugsFiles
-
setExcludeFilterFiles
-
getExcludeFilterFiles
-
setCustomPlugins
Additional plugins which could be used byIFindBugsEngine
(if enabled), or which shouldn't be used (if disabled). If a plugin is not included in the set, it's enablement depends on it's default settings.- Parameters:
customPlugins
- map with additional third party plugin locations (as absolute paths), never null, but might be empty- See Also:
-
getCustomPlugins
Additional plugins which could be used byIFindBugsEngine
(if enabled), or which shouldn't be used (if disabled). If a plugin is not included in the set, it's enablement depends on it's default settings.- Returns:
- map with additional third party plugins, might be empty, never null. The keys are either absolute plugin paths or plugin id's. Special case: if the path consists of one path segment then it represents the plugin id for a plugin to be disabled. A value of a particular key can be null (same as disabled)
- See Also:
-
getCustomPlugins
Additional plugins which could be used or shouldn't be used (depending on given argument) byIFindBugsEngine
. If a plugin is not included in the set, it's enablement depends on it's default settings.- Returns:
- set with additional third party plugins, might be empty, never null. The elements are either absolute plugin paths or plugin id's. Special case: if the path consists of one path segment then it represents the plugin id for a plugin to be disabled.
- See Also:
-
readProperties
Helper method to read array of strings out of the properties file, using a Findbugs style format.- Parameters:
props
- The properties file to read the array from.keyPrefix
- The key prefix of the array.- Returns:
- The array of Strings, or an empty array if no values exist.
-
writeProperties
private static void writeProperties(Properties props, String keyPrefix, Map<String, Boolean> filters) Helper method to write array of strings out of the properties file, using a Findbugs style format.- Parameters:
props
- The properties file to write the array to.keyPrefix
- The key prefix of the array.filters
- The filters array to write to the properties.
-
getAnalysisFeatureSettings
Returns the effort level as an array of feature settings as expected by FindBugs.- Returns:
- The array of feature settings corresponding to the current effort setting.
-