Class WriteTagCheck
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.AutomaticBean
-
- com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
-
- com.puppycrawl.tools.checkstyle.api.AbstractCheck
-
- com.puppycrawl.tools.checkstyle.checks.javadoc.WriteTagCheck
-
- All Implemented Interfaces:
Configurable
,Contextualizable
public class WriteTagCheck extends AbstractCheck
Outputs a JavaDoc tag as information. Can be used e.g. with the stylesheets that sort the report by author name. To define the format for a tag, set property tagFormat to a regular expression. This check uses two different severity levels. The normal one is used for reporting when the tag is missing. The additional one (tagSeverity) is used for the level of reporting when the tag exists. The default value for tagSeverity is info.
An example of how to configure the check for printing author name is:
<module name="WriteTag"> <property name="tag" value="@author"/> <property name="tagFormat" value="\S"/> </module>
An example of how to configure the check to print warnings if an "@incomplete" tag is found, and not print anything if it is not found:
<module name="WriteTag"> <property name="tag" value="@incomplete"/> <property name="tagFormat" value="\S"/> <property name="severity" value="ignore"/> <property name="tagSeverity" value="warning"/> </module>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MSG_MISSING_TAG
A key is pointing to the warning message text in "messages.properties" file.static java.lang.String
MSG_TAG_FORMAT
A key is pointing to the warning message text in "messages.properties" file.static java.lang.String
MSG_WRITE_TAG
A key is pointing to the warning message text in "messages.properties" file.private java.lang.String
tag
Regexp to match tag.private java.util.regex.Pattern
tagFormat
Compiled regexp to match tag content.private java.util.regex.Pattern
tagRegExp
Compiled regexp to match tag.private SeverityLevel
tagSeverity
The severity level of found tag reports.
-
Constructor Summary
Constructors Constructor Description WriteTagCheck()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkTag(int lineNo, java.lang.String... comment)
Verifies that a type definition has a required tag.int[]
getAcceptableTokens()
The configurable token set.int[]
getDefaultTokens()
Returns the default token a check is interested in.int[]
getRequiredTokens()
The tokens that this check must be registered for.protected void
logTag(int line, java.lang.String tagName, java.lang.String tagValue)
Log a message.void
setTag(java.lang.String tag)
Sets the tag to check.void
setTagFormat(java.util.regex.Pattern pattern)
Set the tag format.void
setTagSeverity(SeverityLevel severity)
Sets the tag severity level.void
visitToken(DetailAST ast)
Called to process a token.-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractCheck
beginTree, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokens
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AbstractViolationReporter
getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, log, setId, setSeverity
-
Methods inherited from class com.puppycrawl.tools.checkstyle.api.AutomaticBean
configure, contextualize, finishLocalSetup, getConfiguration, setupChild
-
-
-
-
Field Detail
-
MSG_MISSING_TAG
public static final java.lang.String MSG_MISSING_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
- Constant Field Values
-
MSG_WRITE_TAG
public static final java.lang.String MSG_WRITE_TAG
A key is pointing to the warning message text in "messages.properties" file.- See Also:
- Constant Field Values
-
MSG_TAG_FORMAT
public static final java.lang.String MSG_TAG_FORMAT
A key is pointing to the warning message text in "messages.properties" file.- See Also:
- Constant Field Values
-
tagRegExp
private java.util.regex.Pattern tagRegExp
Compiled regexp to match tag.
-
tagFormat
private java.util.regex.Pattern tagFormat
Compiled regexp to match tag content.
-
tag
private java.lang.String tag
Regexp to match tag.
-
tagSeverity
private SeverityLevel tagSeverity
The severity level of found tag reports.
-
-
Method Detail
-
setTag
public void setTag(java.lang.String tag)
Sets the tag to check.- Parameters:
tag
- tag to check
-
setTagFormat
public void setTagFormat(java.util.regex.Pattern pattern)
Set the tag format.- Parameters:
pattern
- aString
value
-
setTagSeverity
public final void setTagSeverity(SeverityLevel severity)
Sets the tag severity level.- Parameters:
severity
- The new severity level- See Also:
SeverityLevel
-
getDefaultTokens
public int[] getDefaultTokens()
Description copied from class:AbstractCheck
Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.- Specified by:
getDefaultTokens
in classAbstractCheck
- Returns:
- the default tokens
- See Also:
TokenTypes
-
getAcceptableTokens
public int[] getAcceptableTokens()
Description copied from class:AbstractCheck
The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.- Specified by:
getAcceptableTokens
in classAbstractCheck
- Returns:
- the token set this check is designed for.
- See Also:
TokenTypes
-
getRequiredTokens
public int[] getRequiredTokens()
Description copied from class:AbstractCheck
The tokens that this check must be registered for.- Specified by:
getRequiredTokens
in classAbstractCheck
- Returns:
- the token set this must be registered for.
- See Also:
TokenTypes
-
visitToken
public void visitToken(DetailAST ast)
Description copied from class:AbstractCheck
Called to process a token.- Overrides:
visitToken
in classAbstractCheck
- Parameters:
ast
- the token to process
-
checkTag
private void checkTag(int lineNo, java.lang.String... comment)
Verifies that a type definition has a required tag.- Parameters:
lineNo
- the line number for the type definition.comment
- the Javadoc comment for the type definition.
-
logTag
protected final void logTag(int line, java.lang.String tagName, java.lang.String tagValue)
Log a message.- Parameters:
line
- the line number where the error was foundtagName
- the javadoc tag to be loggedtagValue
- the contents of the tag- See Also:
MessageFormat
-
-