Class ProjectFilterSettings

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class ProjectFilterSettings
    extends java.lang.Object
    implements java.lang.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.
    Author:
    David Hovemeyer
    See Also:
    BugInstance
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_PRIORITY
      Default warning threshold priority.
      static java.lang.String EXPERIMENTAL_PRIORITY
      Text string for experimental priority.
      static java.lang.String HIGH_PRIORITY
      Text string for high priority.
      static java.lang.String LOW_PRIORITY
      Text string for low priority.
      static java.lang.String MEDIUM_PRIORITY
      Text string for medium priority.
    • Field Detail

      • HIGH_PRIORITY

        public static final java.lang.String HIGH_PRIORITY
        Text string for high priority.
        See Also:
        Constant Field Values
      • MEDIUM_PRIORITY

        public static final java.lang.String MEDIUM_PRIORITY
        Text string for medium priority.
        See Also:
        Constant Field Values
      • LOW_PRIORITY

        public static final java.lang.String LOW_PRIORITY
        Text string for low priority.
        See Also:
        Constant Field Values
      • EXPERIMENTAL_PRIORITY

        public static final java.lang.String EXPERIMENTAL_PRIORITY
        Text string for experimental priority.
        See Also:
        Constant Field Values
      • DEFAULT_PRIORITY

        public static final java.lang.String DEFAULT_PRIORITY
        Default warning threshold priority.
        See Also:
        Constant Field Values
    • Method Detail

      • 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​(java.lang.String s)
        Create ProjectFilterSettings from an encoded string.
        Parameters:
        s - the encoded string
        Returns:
        the ProjectFilterSettings
      • hiddenFromEncodedString

        public static void hiddenFromEncodedString​(ProjectFilterSettings result,
                                                   java.lang.String s)
        set the hidden bug categories on the specifed ProjectFilterSettings from an encoded string
        Parameters:
        result - the ProjectFilterSettings from which to remove bug categories
        s - the encoded string
        See Also:
        hiddenFromEncodedString(ProjectFilterSettings, String)
      • 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​(java.lang.String minPriority)
        Set minimum warning priority threshold.
        Parameters:
        minPriority - the priority threshold: one of "High", "Medium", or "Low"
      • getMinPriority

        public java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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 java.util.Set<java.lang.String> getActiveCategorySet()
        Return set of active (enabled) bug categories. Note that bug categories that are not explicity 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 java.lang.String hiddenToEncodedString()
        Create a string containing the encoded form of the hidden bug categories
        Returns:
        an encoded string
      • toEncodedString

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

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

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • hashCode

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

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