public final class MissingDeprecatedCheck extends AbstractCheck
This class is used to verify that both the
Deprecated
annotation
and the deprecated javadoc tag are present when
either one is present.
Both ways of flagging deprecation serve their own purpose. The
Deprecated
annotation is used for
compilers and development tools. The deprecated javadoc tag is
used to document why something is deprecated and what, if any,
alternatives exist.
In order to properly mark something as deprecated both forms of deprecation should be present.
Package deprecation is a exception to the rule of always using the javadoc tag and annotation to deprecate. Only the package-info.java file can contain a Deprecated annotation and it CANNOT contain a deprecated javadoc tag. This is the case with Sun's javadoc tool released with JDK 1.6.0_11. As a result, this check does not deal with Deprecated packages in any way. No official documentation was found confirming this behavior is correct (of the javadoc tool).
To configure this check do the following:
<module name="JavadocDeprecated"/>
In addition you can configure this check with skipNoJavadoc
option to allow it to ignore cases when JavaDoc is missing,
but still warns when JavaDoc is present but either
Deprecated
is missing from JavaDoc or
Deprecated
is missing from the element.
To configure this check to allow it use:
<property name="skipNoJavadoc" value="true" />
Examples of validating source code with skipNoJavadoc:
@deprecated
public static final int MY_CONST = 123456; // no violation
/** This javadoc is missing deprecated tag. */
@deprecated
public static final int COUNTER = 10; // violation as javadoc exists
AutomaticBean.OutputStreamOptions
Modifier and Type | Field and Description |
---|---|
static String |
MSG_KEY_ANNOTATION_MISSING_DEPRECATED
A key is pointing to the warning message text in "messages.properties"
file.
|
static String |
MSG_KEY_JAVADOC_DUPLICATE_TAG
A key is pointing to the warning message text in "messages.properties"
file.
|
static String |
MSG_KEY_JAVADOC_MISSING
A key is pointing to the warning message text in "messages.properties"
file.
|
Constructor and Description |
---|
MissingDeprecatedCheck() |
Modifier and Type | Method and Description |
---|---|
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.
|
void |
setSkipNoJavadoc(boolean skipNoJavadoc)
Set skipJavadoc value.
|
void |
visitToken(DetailAST ast)
Called to process a token.
|
beginTree, clearMessages, destroy, finishTree, getClassLoader, getFileContents, getLine, getLines, getMessages, getTabWidth, getTokenNames, init, isCommentNodesRequired, leaveToken, log, log, log, setClassLoader, setFileContents, setTabWidth, setTokens
finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
configure, contextualize, getConfiguration, setupChild
public static final String MSG_KEY_ANNOTATION_MISSING_DEPRECATED
public static final String MSG_KEY_JAVADOC_DUPLICATE_TAG
public static final String MSG_KEY_JAVADOC_MISSING
public MissingDeprecatedCheck()
public void setSkipNoJavadoc(boolean skipNoJavadoc)
skipNoJavadoc
- user's value of skipJavadocpublic int[] getDefaultTokens()
AbstractCheck
getDefaultTokens
in class AbstractCheck
TokenTypes
public int[] getAcceptableTokens()
AbstractCheck
getAcceptableTokens
in class AbstractCheck
TokenTypes
public int[] getRequiredTokens()
AbstractCheck
getRequiredTokens
in class AbstractCheck
TokenTypes
public void visitToken(DetailAST ast)
AbstractCheck
visitToken
in class AbstractCheck
ast
- the token to processCopyright © 2001–2018. All rights reserved.