Class ProjectFilterSettings

java.lang.Object
edu.umd.cs.findbugs.config.ProjectFilterSettings
All Implemented Interfaces:
Cloneable

public class ProjectFilterSettings extends Object implements Cloneable
Settings for user filtering of warnings for a project. This includes selecting particular bug categories to view, as well as a minimum warning priority. Includes support for encoding these settings as a String, which can easily be stored as a persistent project property in Eclipse.
See Also:
  • Field Details

    • HIGH_PRIORITY

      public static final String HIGH_PRIORITY
      Text string for high priority.
      See Also:
    • MEDIUM_PRIORITY

      public static final String MEDIUM_PRIORITY
      Text string for medium priority.
      See Also:
    • LOW_PRIORITY

      public static final String LOW_PRIORITY
      Text string for low priority.
      See Also:
    • EXPERIMENTAL_PRIORITY

      public static final String EXPERIMENTAL_PRIORITY
      Text string for experimental priority.
      See Also:
    • DEFAULT_PRIORITY

      public static final String DEFAULT_PRIORITY
      Default warning threshold priority.
      See Also:
    • priorityNameToValueMap

      @StaticConstant private static final Map<String,Integer> priorityNameToValueMap
      Map of priority level names to their numeric values.
    • FIELD_DELIMITER

      private static final char FIELD_DELIMITER
      The character used for delimiting whole fields in filter settings encoded as strings
      See Also:
    • LISTITEM_DELIMITER

      private static final String LISTITEM_DELIMITER
      The character used for delimiting list items in filter settings encoded as strings
      See Also:
    • DEFAULT_MIN_RANK

      private static final int DEFAULT_MIN_RANK
      See Also:
    • activeBugCategorySet

      private Set<String> activeBugCategorySet
    • hiddenBugCategorySet

      private Set<String> hiddenBugCategorySet
    • minPriority

      private String minPriority
    • minPriorityAsInt

      private int minPriorityAsInt
    • minRank

      private int minRank
    • displayFalseWarnings

      private boolean displayFalseWarnings
  • Constructor Details

    • ProjectFilterSettings

      private ProjectFilterSettings()
      Constructor. This is not meant to be called directly; use one of the factory methods instead.
  • Method Details

    • setMinRank

      public void setMinRank(int minRank)
    • getMinRank

      public int getMinRank()
    • createDefault

      public static ProjectFilterSettings createDefault()
      Factory method to create a default ProjectFilterSettings object. Uses the default warning priority threshold, and enables all bug categories.
      Returns:
      a default ProjectFilterSettings object
    • fromEncodedString

      public static ProjectFilterSettings fromEncodedString(String s)
      Create ProjectFilterSettings from an encoded string.
      Parameters:
      s - the encoded string
      Returns:
      the ProjectFilterSettings
    • hiddenFromEncodedString

      public static void hiddenFromEncodedString(ProjectFilterSettings result, String s)
      set the hidden bug categories on the specified ProjectFilterSettings from an encoded string
      Parameters:
      result - the ProjectFilterSettings from which to remove bug categories
      s - the encoded string
      See Also:
    • displayWarning

      public boolean displayWarning(BugInstance bugInstance)
      Return whether or not a warning should be displayed, according to the project filter settings.
      Parameters:
      bugInstance - the warning
      Returns:
      true if the warning should be displayed, false if not
    • setMinPriority

      public void setMinPriority(String minPriority)
      Set minimum warning priority threshold.
      Parameters:
      minPriority - the priority threshold: one of "High", "Medium", or "Low"
    • getMinPriority

      public String getMinPriority()
      Get the minimum warning priority threshold.
      Returns:
      minimum warning priority threshold: one of "High", "Medium", or "Low"
    • getMinPriorityAsInt

      public int getMinPriorityAsInt()
      Return the minimum warning priority threshold as an integer.
      Returns:
      the minimum warning priority threshold as an integer
    • addCategory

      public void addCategory(String category)
      Add a bug category to the set of categories to be displayed.
      Parameters:
      category - the bug category: e.g., "CORRECTNESS"
    • removeCategory

      public void removeCategory(String category)
      Remove a bug category from the set of categories to be displayed.
      Parameters:
      category - the bug category: e.g., "CORRECTNESS"
    • clearAllCategories

      public void clearAllCategories()
      Clear all bug categories from the hidden list. So the effect is to enable all bug categories.
    • containsCategory

      public boolean containsCategory(String category)
      Returns false if the given category is hidden in the project filter settings.
      Parameters:
      category - the category
      Returns:
      false if the category is hidden, true if not
    • getActiveCategorySet

      public Set<String> getActiveCategorySet()
      Return set of active (enabled) bug categories. Note that bug categories that are not explicitly hidden will appear active even if they are not members of this set.
      Returns:
      the set of active categories
    • setDisplayFalseWarnings

      public void setDisplayFalseWarnings(boolean displayFalseWarnings)
      Set whether or not false warnings should be displayed.
      Parameters:
      displayFalseWarnings - true if false warnings should be displayed, false if not
    • displayFalseWarnings

      public boolean displayFalseWarnings()
      Get whether or not false warnings should be displayed.
      Returns:
      true if false warnings should be displayed, false if not
    • hiddenToEncodedString

      public String hiddenToEncodedString()
      Create a string containing the encoded form of the hidden bug categories
      Returns:
      an encoded string
    • toEncodedString

      public String toEncodedString()
      Create a string containing the encoded form of the ProjectFilterSettings.
      Returns:
      an encoded string
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getIntPriorityAsString

      public static String getIntPriorityAsString(int prio)
      Convert an integer warning priority threshold value to a String.