Class SuppressionFilter

java.lang.Object
com.puppycrawl.tools.checkstyle.AbstractAutomaticBean
com.puppycrawl.tools.checkstyle.filters.SuppressionFilter
All Implemented Interfaces:
Configurable, Contextualizable, ExternalResourceHolder, Filter

Filter SuppressionFilter rejects audit events for Check violations according to a suppressions XML document in a file. If there is no configured suppressions file or the optional is set to true and suppressions file was not found the Filter accepts all audit events.

A suppressions XML document contains a set of suppress elements, where each suppress element can have the following attributes:

  • files - a Pattern matched against the file name associated with an audit event. It is optional.
  • checks - a Pattern matched against the name of the check associated with an audit event. Optional as long as id or message is specified.
  • message - a Pattern matched against the message of the check associated with an audit event. Optional as long as checks or id is specified.
  • id - a String matched against the check id associated with an audit event. Optional as long as checks or message is specified.
  • lines - a comma-separated list of values, where each value is an int or a range of integers denoted by integer-integer. It is optional.
  • columns - a comma-separated list of values, where each value is an int or a range of integers denoted by integer-integer. It is optional.

Each audit event is checked against each suppress element. It is suppressed if all specified attributes match against the audit event.

ATTENTION: filtering by message is dependent on runtime locale. If project is running in different languages it is better to avoid filtering by message.

You can download template of empty suppression filter here.

Location of the file defined in file property is checked in the following order:

  1. as a filesystem location
  2. if no file found, and the location starts with either http:// or https://, then it is interpreted as a URL
  3. if no file found, then passed to the ClassLoader.getResource() method.

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

  • Property file - Specify the location of the suppressions XML document file. Type is java.lang.String. Default value is null.
  • Property optional - Control what to do when the file is not existing. If optional is set to false the file must exist, or else it ends with error. On the other hand if optional is true and file is not found, the filter accept all audit events. Type is boolean. Default value is false.

Parent is com.puppycrawl.tools.checkstyle.Checker

Since:
3.2
  • Field Details

    • file

      private String file
      Specify the location of the suppressions XML document file.
    • optional

      private boolean optional
      Control what to do when the file is not existing. If optional is set to false the file must exist, or else it ends with error. On the other hand if optional is true and file is not found, the filter accept all audit events.
    • filters

      private FilterSet filters
      Set of individual suppresses.
  • Constructor Details

  • Method Details

    • setFile

      public void setFile(String fileName)
      Setter to specify the location of the suppressions XML document file.
      Parameters:
      fileName - name of the suppressions file.
      Since:
      3.2
    • setOptional

      public void setOptional(boolean optional)
      Setter to control what to do when the file is not existing. If optional is set to false the file must exist, or else it ends with error. On the other hand if optional is true and file is not found, the filter accept all audit events.
      Parameters:
      optional - tells if config file existence is optional.
      Since:
      6.15
    • 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.
    • finishLocalSetup

      protected void finishLocalSetup() throws CheckstyleException
      Description copied from class: AbstractAutomaticBean
      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 AbstractAutomaticBean
      Throws:
      CheckstyleException - if there is a configuration error.
    • getExternalResourceLocations

      Description copied from interface: ExternalResourceHolder
      Returns a set of external configuration resource locations which are used by the module. ATTENTION! If 'getExternalResourceLocations()' return null, there will be NullPointerException in Checker. Such behaviour will signal that your module (check or filter) is designed incorrectly. It makes sense to return an empty set from 'getExternalResourceLocations()' only for composite modules like TreeWalker.
      Specified by:
      getExternalResourceLocations in interface ExternalResourceHolder
      Returns:
      a set of external configuration resource locations which are used by the module.