Package edu.umd.cs.findbugs.config
Class UserPreferences
- java.lang.Object
-
- edu.umd.cs.findbugs.config.UserPreferences
-
- All Implemented Interfaces:
java.lang.Cloneable
public class UserPreferences extends java.lang.Object implements java.lang.CloneableUser Preferences outside of any one Project. This consists of a class to manage the findbugs.prop file found in the user.home.- Author:
- Dave Brosius
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEFFORT_DEFAULTstatic java.lang.StringEFFORT_MAXstatic java.lang.StringEFFORT_MINstatic java.lang.StringKEY_EXCLUDE_BUGSKey prefix for custom filters, full key consists of a prefix + filter index starting with 0static java.lang.StringKEY_EXCLUDE_FILTERKey prefix for custom filters, full key consists of a prefix + filter index starting with 0static java.lang.StringKEY_INCLUDE_FILTERKey prefix for custom filters, full key consists of a prefix + filter index starting with 0static java.lang.StringKEY_PLUGINKey prefix for custom plugins, full key consists of a prefix + plugin index starting with 0
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description UserPreferencesclone()static UserPreferencescreateDefaultUserPreferences()Create default UserPreferences.voidenableAllDetectors(boolean enable)Enable or disable all known Detectors.voidenableDetector(DetectorFactory factory, boolean enable)Set the enabled/disabled status of given Detector.booleanequals(java.lang.Object obj)AnalysisFeatureSetting[]getAnalysisFeatureSettings()Returns the effort level as an array of feature settings as expected by FindBugs.java.lang.StringgetCloudId()java.util.Map<java.lang.String,java.lang.Boolean>getCustomPlugins()Additional plugins which could be used byIFindBugsEngine(if enabled), or which shouldn't be used (if disabled).java.util.Set<java.lang.String>getCustomPlugins(boolean enabled)Additional plugins which could be used or shouldn't be used (depending on given argument) byIFindBugsEngine.java.lang.StringgetEffort()java.util.Map<java.lang.String,java.lang.Boolean>getExcludeBugsFiles()java.util.Map<java.lang.String,java.lang.Boolean>getExcludeFilterFiles()ProjectFilterSettingsgetFilterSettings()Get ProjectFilterSettings.java.util.Map<java.lang.String,java.lang.Boolean>getIncludeFilterFiles()java.util.List<java.lang.String>getRecentProjects()Get List of recent project filenames.intgetUserDetectorThreshold()Get the detector threshold (min severity to report a warning).inthashCode()booleanisDetectorEnabled(DetectorFactory factory)Get the enabled/disabled status of given Detector.booleanisRunAtFullBuild()Get the enabled/disabled status of runAtFullBuildvoidread()Read persistent global UserPreferences from file in the user's home directory.voidread(java.io.InputStream in)Read user preferences from given input stream.voidremoveProject(java.lang.String projectName)Remove project filename from the recently-used project list.voidsetCloudId(java.lang.String cloudId)voidsetCustomPlugins(java.util.Map<java.lang.String,java.lang.Boolean> customPlugins)Additional plugins which could be used byIFindBugsEngine(if enabled), or which shouldn't be used (if disabled).voidsetEffort(java.lang.String effort)voidsetExcludeBugsFiles(java.util.Map<java.lang.String,java.lang.Boolean> excludeBugsFiles)voidsetExcludeFilterFiles(java.util.Map<java.lang.String,java.lang.Boolean> excludeFilterFiles)voidsetIncludeFilterFiles(java.util.Map<java.lang.String,java.lang.Boolean> includeFilterFiles)voidsetProjectFilterSettings(ProjectFilterSettings filterSettings)Set the ProjectFilterSettings.voidsetRunAtFullBuild(boolean enable)Set the enabled/disabled status of running findbugs automatically for full builds.voidsetUserDetectorThreshold(int threshold)Set the detector threshold (min severity to report a warning).voidsetUserDetectorThreshold(java.lang.String threshold)Set the detector threshold (min severity to report a warning).voiduseProject(java.lang.String projectName)Add given project filename to the front of the recently-used project list.voidwrite()Write persistent global UserPreferences to file in user's home directory.voidwrite(java.io.OutputStream out)Write UserPreferences to given OutputStream.
-
-
-
Field Detail
-
EFFORT_MIN
public static final java.lang.String EFFORT_MIN
- See Also:
- Constant Field Values
-
EFFORT_DEFAULT
public static final java.lang.String EFFORT_DEFAULT
- See Also:
- Constant Field Values
-
EFFORT_MAX
public static final java.lang.String EFFORT_MAX
- See Also:
- Constant Field Values
-
KEY_PLUGIN
public static final java.lang.String KEY_PLUGIN
Key prefix for custom plugins, full key consists of a prefix + plugin index starting with 0- See Also:
- Constant Field Values
-
KEY_INCLUDE_FILTER
public static final java.lang.String KEY_INCLUDE_FILTER
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
- Constant Field Values
-
KEY_EXCLUDE_FILTER
public static final java.lang.String KEY_EXCLUDE_FILTER
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
- Constant Field Values
-
KEY_EXCLUDE_BUGS
public static final java.lang.String KEY_EXCLUDE_BUGS
Key prefix for custom filters, full key consists of a prefix + filter index starting with 0- See Also:
- Constant Field Values
-
-
Method Detail
-
createDefaultUserPreferences
public static UserPreferences createDefaultUserPreferences()
Create default UserPreferences.- Returns:
- default UserPreferences
-
read
public void read()
Read persistent global UserPreferences from file in the user's home directory.
-
read
public void read(@WillClose java.io.InputStream in) throws java.io.IOExceptionRead user preferences from given input stream. The InputStream is guaranteed to be closed by this method.- Parameters:
in- the InputStream- Throws:
java.io.IOException
-
write
public void write()
Write persistent global UserPreferences to file in user's home directory.
-
write
public void write(@WillClose java.io.OutputStream out) throws java.io.IOExceptionWrite UserPreferences to given OutputStream. The OutputStream is guaranteed to be closed by this method.- Parameters:
out- the OutputStream- Throws:
java.io.IOException
-
getRecentProjects
public java.util.List<java.lang.String> getRecentProjects()
Get List of recent project filenames.- Returns:
- List of recent project filenames
-
useProject
public void useProject(java.lang.String projectName)
Add given project filename to the front of the recently-used project list.- Parameters:
projectName- project filename
-
removeProject
public void removeProject(java.lang.String projectName)
Remove project filename from the recently-used project list.- Parameters:
projectName- project filename
-
enableDetector
public void enableDetector(DetectorFactory factory, boolean enable)
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
public boolean isDetectorEnabled(DetectorFactory factory)
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
public void setProjectFilterSettings(ProjectFilterSettings filterSettings)
Set the ProjectFilterSettings.- Parameters:
filterSettings- the ProjectFilterSettings
-
getFilterSettings
public 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
public void setUserDetectorThreshold(java.lang.String threshold)
Set the detector threshold (min severity to report a warning).- Parameters:
threshold- the detector threshold
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
clone
public UserPreferences clone()
- Overrides:
clonein classjava.lang.Object
-
getEffort
public java.lang.String getEffort()
-
setEffort
public void setEffort(java.lang.String effort)
-
getCloudId
public java.lang.String getCloudId()
- Returns:
- Returns the cloudId.
-
setCloudId
public void setCloudId(java.lang.String cloudId)
- Parameters:
cloudId- The cloudId to set.
-
getIncludeFilterFiles
public java.util.Map<java.lang.String,java.lang.Boolean> getIncludeFilterFiles()
-
setIncludeFilterFiles
public void setIncludeFilterFiles(java.util.Map<java.lang.String,java.lang.Boolean> includeFilterFiles)
-
getExcludeBugsFiles
public java.util.Map<java.lang.String,java.lang.Boolean> getExcludeBugsFiles()
-
setExcludeBugsFiles
public void setExcludeBugsFiles(java.util.Map<java.lang.String,java.lang.Boolean> excludeBugsFiles)
-
setExcludeFilterFiles
public void setExcludeFilterFiles(java.util.Map<java.lang.String,java.lang.Boolean> excludeFilterFiles)
-
getExcludeFilterFiles
public java.util.Map<java.lang.String,java.lang.Boolean> getExcludeFilterFiles()
-
setCustomPlugins
public void setCustomPlugins(java.util.Map<java.lang.String,java.lang.Boolean> customPlugins)
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:
Plugin.isCorePlugin(),Plugin.isGloballyEnabled()
-
getCustomPlugins
public java.util.Map<java.lang.String,java.lang.Boolean> 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:
Plugin.isCorePlugin(),Plugin.isGloballyEnabled()
-
getCustomPlugins
public java.util.Set<java.lang.String> getCustomPlugins(boolean enabled)
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:
Plugin.isCorePlugin(),Plugin.isGloballyEnabled()
-
getAnalysisFeatureSettings
public AnalysisFeatureSetting[] 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.
-
-