Class SuppressionSingleFilter

java.lang.Object
com.puppycrawl.tools.checkstyle.api.AutomaticBean
com.puppycrawl.tools.checkstyle.filters.SuppressionSingleFilter
All Implemented Interfaces:
Configurable, Contextualizable, Filter

public class SuppressionSingleFilter extends AutomaticBean implements Filter

Filter SuppressionSingleFilter suppresses audit events for Checks violations in the specified file, class, checks, message, module id, lines, and columns.

Rationale: To allow users use suppressions configured in the same config with other modules. SuppressionFilter and SuppressionXpathFilter are require separate file.

Advice: If checkstyle configuration is used for several projects, single suppressions on common files/folders is better to put in checkstyle configuration as common rule. All suppression that are for specific file names is better to keep in project specific config file.

Attention: This filter only supports single suppression, and will need multiple instances if users wants to suppress multiple violations.

SuppressionSingleFilter can suppress Checks that have Treewalker or Checker as parent module.

  • Property files - Define the RegExp for matching against the file name associated with an audit event. Type is java.util.regex.Pattern. Default value is null.
  • Property checks - Define the RegExp for matching against the name of the check associated with an audit event. Type is java.lang.String. Validation type is java.util.regex.Pattern. Default value is null.
  • Property message - Define the RegExp for matching against the message of the check associated with an audit event. Type is java.util.regex.Pattern. Default value is null.
  • Property id - Specify a string matched against the ID of the check associated with an audit event. Type is java.lang.String. Default value is null.
  • Property lines - Specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer. Type is java.lang.String. Default value is null.
  • Property columns - Specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer. Type is java.lang.String. Default value is null.

The following suppressions directs a SuppressionSingleFilter to reject JavadocStyleCheck violations for lines 82 and 108 to 122 of file AbstractComplexityCheck.java, and MagicNumberCheck violations for line 221 of file JavadocStyleCheck.java, and 'Missing a Javadoc comment' violations for all lines and files:

 <module name="SuppressionSingleFilter">
   <property name="checks" value="JavadocStyleCheck"/>
   <property name="files" value="AbstractComplexityCheck.java"/>
   <property name="lines" value="82,108-122"/>
 </module>
 <module name="SuppressionSingleFilter">
   <property name="checks" value="MagicNumberCheck"/>
   <property name="files" value="JavadocStyleCheck.java"/>
   <property name="lines" value="221"/>
 </module>
 <module name="SuppressionSingleFilter">
   <property name="message" value="Missing a Javadoc comment"/>
 </module>
 

Suppress check by module id when config have two instances on the same check:

 <module name="SuppressionSingleFilter">
   <property name="id" value="stringEqual"/>
   <property name="files" value="SomeTestCode.java"/>
 </module>
 

Suppress all checks for hidden files and folders:

 <module name="SuppressionSingleFilter">
   <property name="files" value="[/\\]\..+"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress all checks for Maven-generated code:

 <module name="SuppressionSingleFilter">
   <property name="files" value="[/\\]target[/\\]"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress all checks for archives, classes and other binary files:

 <module name="SuppressionSingleFilter">
   <property name="files" value=".+\.(?:jar|zip|war|class|tar|bin)$"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress all checks for image files:

 <module name="SuppressionSingleFilter">
   <property name="files" value=".+\.(?:png|gif|jpg|jpeg)$"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress all checks for non-java files:

 <module name="SuppressionSingleFilter">
   <property name="files"
     value=".+\.(?:txt|xml|csv|sh|thrift|html|sql|eot|ttf|woff|css|png)$"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress all checks in generated sources:

 <module name="SuppressionSingleFilter">
   <property name="files" value="com[\\/]mycompany[\\/]app[\\/]gen[\\/]"/>
   <property name="checks" value=".*"/>
 </module>
 

Suppress FileLength check on integration tests in certain folder:

 <module name="SuppressionSingleFilter">
   <property name="files" value="com[\\/]mycompany[\\/]app[\\/].*IT.java"/>
   <property name="checks" value="FileLength"/>
 </module>
 

Suppress naming violations on variable named 'log' in all files:

 <module name="SuppressionSingleFilter">
   <property name="message" value="Name 'log' must match pattern"/>
 </module>
 

Parent is com.puppycrawl.tools.checkstyle.Checker

Since:
8.23
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean

    AutomaticBean.OutputStreamOptions
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Determines whether or not a filtered AuditEvent is accepted.
    protected void
    Provides a hook to finish the part of this component's setup that was not handled by the bean introspection.
    void
    setChecks(String checks)
    Setter to define the RegExp for matching against the name of the check associated with an audit event.
    void
    setColumns(String columns)
    Setter to specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer.
    void
    Setter to define the RegExp for matching against the file name associated with an audit event.
    void
    Setter to specify a string matched against the ID of the check associated with an audit event.
    void
    Setter to specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer.
    void
    Setter to define the RegExp for matching against the message of the check associated with an audit event.

    Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean

    configure, contextualize, getConfiguration, setupChild

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SuppressionSingleFilter

      public SuppressionSingleFilter()
  • Method Details

    • setFiles

      public void setFiles(Pattern files)
      Setter to define the RegExp for matching against the file name associated with an audit event.
      Parameters:
      files - regular expression for filtered file names
    • setChecks

      public void setChecks(String checks)
      Setter to define the RegExp for matching against the name of the check associated with an audit event.
      Parameters:
      checks - the name of the check
    • setMessage

      public void setMessage(Pattern message)
      Setter to define the RegExp for matching against the message of the check associated with an audit event.
      Parameters:
      message - the message of the check
    • setId

      public void setId(String id)
      Setter to specify a string matched against the ID of the check associated with an audit event.
      Parameters:
      id - the ID of the check
    • setLines

      public void setLines(String lines)
      Setter to specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer.
      Parameters:
      lines - the lines of the check
    • setColumns

      public void setColumns(String columns)
      Setter to specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer.
      Parameters:
      columns - the columns of the check
    • finishLocalSetup

      protected void finishLocalSetup()
      Description copied from class: AutomaticBean
      Provides a hook to finish the part of this component's setup that was not handled by the bean introspection.

      The default implementation does nothing.

      Specified by:
      finishLocalSetup in class AutomaticBean
    • accept

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