com.puppycrawl.tools.checkstyle.filters

Class SuppressionCommentFilter

Implemented Interfaces:
Configurable, Contextualizable, Filter

public class SuppressionCommentFilter
extends AutomaticBean
implements Filter

A filter that uses comments to suppress audit events.

Rationale: Sometimes there are legitimate reasons for violating a check. When this is a matter of the code in question and not personal preference, the best place to override the policy is in the code itself. Semi-structured comments can be associated with the check. This is sometimes superior to a separate suppressions file, which must be kept up-to-date as the source file is edited.

Usage: This check only works in conjunction with the FileContentsHolder module since that module makes the suppression comments in the .java files available sub rosa.

Authors:
Mike McMahon
Rick Giles

See Also:
FileContentsHolder

Nested Class Summary

class
SuppressionCommentFilter.Tag
A Tag holds a suppression comment and its location, and determines whether the supression turns checkstyle reporting on or off.

Constructor Summary

SuppressionCommentFilter()
Constructs a SuppressionCommentFilter.

Method Summary

boolean
accept(AuditEvent aEvent)
protected void
finishLocalSetup()
Check that everything was set up properly.
FileContents
getFileContents()
void
setCheckC(boolean aCheckC)
Set whether to look in C comments.
void
setCheckCPP(boolean aCheckCPP)
Set whether to look in C++ comments.
void
setCheckFormat(String aFormat)
Set the format for a check.
void
setFileContents(FileContents aFileContents)
Set the FileContents for this filter.
void
setMessageFormat(String aFormat)
Set the format for a message.
void
setOffCommentFormat(String aFormat)
Set the format for a comment that turns off reporting.
void
setOnCommentFormat(String aFormat)
Set the format for a comment that turns on reporting.

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

configure, contextualize, finishLocalSetup, getConfiguration, setupChild

Constructor Details

SuppressionCommentFilter

public SuppressionCommentFilter()
Constructs a SuppressionCommentFilter. Initializes comment on, comment off, and check formats to defaults.

Method Details

accept

public boolean accept(AuditEvent aEvent)
Specified by:
accept in interface Filter

See Also:
Filter


finishLocalSetup

protected void finishLocalSetup()
            throws CheckstyleException
Check that everything was set up properly.
Overrides:
finishLocalSetup in interface AutomaticBean

Throws:
CheckstyleException - if a comment format was not set


getFileContents

public FileContents getFileContents()

Returns:
the FileContents for this filter.


setCheckC

public void setCheckC(boolean aCheckC)
Set whether to look in C comments.

Parameters:
aCheckC - true if C comments are checked.


setCheckCPP

public void setCheckCPP(boolean aCheckCPP)
Set whether to look in C++ comments.

Parameters:
aCheckCPP - true if C++ comments are checked.


setCheckFormat

public void setCheckFormat(String aFormat)
            throws ConversionException
Set the format for a check.

Parameters:
aFormat - a String value


setFileContents

public void setFileContents(FileContents aFileContents)
Set the FileContents for this filter.

Parameters:
aFileContents - the FileContents for this filter.


setMessageFormat

public void setMessageFormat(String aFormat)
            throws ConversionException
Set the format for a message.

Parameters:
aFormat - a String value


setOffCommentFormat

public void setOffCommentFormat(String aFormat)
            throws ConversionException
Set the format for a comment that turns off reporting.

Parameters:
aFormat - a String value.


setOnCommentFormat

public void setOnCommentFormat(String aFormat)
            throws ConversionException
Set the format for a comment that turns on reporting.

Parameters:
aFormat - a String value