Class SuppressWithNearbyCommentFilter

  • All Implemented Interfaces:
    Configurable, Contextualizable, TreeWalkerFilter

    public class SuppressWithNearbyCommentFilter
    extends AbstractAutomaticBean
    implements TreeWalkerFilter

    Filter SuppressWithNearbyCommentFilter uses nearby comments to suppress audit events.

    Rationale: Same as SuppressionCommentFilter. Whereas the SuppressionCommentFilter uses matched pairs of filters to turn on/off comment matching, SuppressWithNearbyCommentFilter uses single comments. This requires fewer lines to mark a region, and may be aesthetically preferable in some contexts.

    Attention: This filter may only be specified within the TreeWalker module (<module name="TreeWalker"/>) and only applies to checks which are also defined within this module. To filter non-TreeWalker checks like RegexpSingleline, a SuppressWithPlainTextCommentFilter or similar filter must be used.

    SuppressWithNearbyCommentFilter can suppress Checks that have Treewalker as parent module.

    • Property checkC - Control whether to check C style comments (/* ... */). Type is boolean. Default value is true.
    • Property checkCPP - Control whether to check C++ style comments (//). Type is boolean. Default value is true.
    • Property checkFormat - Specify check pattern to suppress. Type is java.util.regex.Pattern. Default value is ".*".
    • Property commentFormat - Specify comment pattern to trigger filter to begin suppression. Type is java.util.regex.Pattern. Default value is "SUPPRESS CHECKSTYLE (\w+)".
    • Property idFormat - Specify check ID pattern to suppress. Type is java.util.regex.Pattern. Default value is null.
    • Property influenceFormat - Specify negative/zero/positive value that defines the number of lines preceding/at/following the suppression comment. Type is java.lang.String. Default value is "0".
    • Property messageFormat - Define message pattern to suppress. Type is java.util.regex.Pattern. Default value is null.

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Since:
    5.0
    • Method Detail

      • setCommentFormat

        public final void setCommentFormat​(Pattern pattern)
        Setter to specify comment pattern to trigger filter to begin suppression.
        Parameters:
        pattern - a pattern.
        Since:
        5.0
      • getFileContents

        private FileContents getFileContents()
        Returns FileContents for this filter.
        Returns:
        the FileContents for this filter.
      • setFileContents

        private void setFileContents​(FileContents fileContents)
        Set the FileContents for this filter.
        Parameters:
        fileContents - the FileContents for this filter.
      • setCheckFormat

        public final void setCheckFormat​(String format)
        Setter to specify check pattern to suppress.
        Parameters:
        format - a String value
        Since:
        5.0
      • setMessageFormat

        public void setMessageFormat​(String format)
        Setter to define message pattern to suppress.
        Parameters:
        format - a String value
        Since:
        5.0
      • setIdFormat

        public void setIdFormat​(String format)
        Setter to specify check ID pattern to suppress.
        Parameters:
        format - a String value
        Since:
        8.24
      • setInfluenceFormat

        public final void setInfluenceFormat​(String format)
        Setter to specify negative/zero/positive value that defines the number of lines preceding/at/following the suppression comment.
        Parameters:
        format - a String value
        Since:
        5.0
      • setCheckCPP

        public void setCheckCPP​(boolean checkCpp)
        Setter to control whether to check C++ style comments (//).
        Parameters:
        checkCpp - true if C++ comments are checked.
        Since:
        5.0
      • setCheckC

        public void setCheckC​(boolean checkC)
        Setter to control whether to check C style comments (/* ... */).
        Parameters:
        checkC - true if C comments are checked.
        Since:
        5.0
      • accept

        public boolean accept​(TreeWalkerAuditEvent event)
        Description copied from interface: TreeWalkerFilter
        Determines whether or not a filtered TreeWalkerAuditEvent is accepted.
        Specified by:
        accept in interface TreeWalkerFilter
        Parameters:
        event - the TreeWalkerAuditEvent to filter.
        Returns:
        true if the event is accepted.
      • matchesTag

        private boolean matchesTag​(TreeWalkerAuditEvent event)
        Whether current event matches any tag from tags.
        Parameters:
        event - TreeWalkerAuditEvent to test match on tags.
        Returns:
        true if event matches any tag from tags, false otherwise.
      • tagSuppressions

        private void tagSuppressions()
        Collects all the suppression tags for all comments into a list and sorts the list.
      • tagSuppressions

        private void tagSuppressions​(Collection<TextBlock> comments)
        Appends the suppressions in a collection of comments to the full set of suppression tags.
        Parameters:
        comments - the set of comments.
      • tagCommentLine

        private void tagCommentLine​(String text,
                                    int line)
        Tags a string if it matches the format for turning checkstyle reporting on or the format for turning reporting off.
        Parameters:
        text - the string to tag.
        line - the line number of text.
      • addTag

        private void addTag​(String text,
                            int line)
        Adds a comment suppression Tag to the list of all tags.
        Parameters:
        text - the text of the tag.
        line - the line number of the tag.