| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <document xmlns="http://maven.apache.org/XDOC/2.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| |
| <head> |
| <title>Annotations</title> |
| <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"/> |
| <script type="text/javascript" src="js/anchors.js"/> |
| <script type="text/javascript" src="js/google-analytics.js"/> |
| <link rel="icon" href="images/favicon.png" type="image/x-icon" /> |
| <link rel="shortcut icon" href="images/favicon.ico" type="image/ico" /> |
| </head> |
| |
| <body> |
| <section name="Content"> |
| <macro name="toc"> |
| <param name="fromDepth" value="1"/> |
| <param name="toDepth" value="1"/> |
| </macro> |
| </section> |
| |
| <section name="AnnotationLocation"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 6.0</p> |
| <p> |
| Check location of annotation on language elements. |
| By default, Check enforce to locate annotations immediately |
| after documentation block and before target element, annotation should be located on separate line from target element. |
| </p> |
| <p> |
| Attention: Annotations among modifiers are ignored (looks like false-negative) |
| as there might be a problem with annotations for return types <source>public @Nullable Long getStartTimeOrNull() { ... }</source> |
| Such annotations are better to keep close to type. |
| Due to limitations Checkstyle can not examine target of annotation. |
| </p> |
| <p> |
| Example: |
| </p> |
| <source> |
| @Override |
| @Nullable |
| public String getNameIfPresent() { ... } |
| </source> |
| </subsection> |
| |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>allowSamelineMultipleAnnotations</td> |
| <td>To allow annotation(s) to be located on the same line as target element.</td> |
| <td><a href="property_types.html#boolean">Boolean</a></td> |
| <td><code>false</code></td> |
| <td>6.0</td> |
| </tr> |
| <tr> |
| <td>allowSamelineSingleParameterlessAnnotation</td> |
| <td>To allow single parameterless annotation to be located on the same line as target element.</td> |
| <td><a href="property_types.html#boolean">Boolean</a></td> |
| <td><code>true</code></td> |
| <td>6.1</td> |
| </tr> |
| <tr> |
| <td>allowSamelineParameterizedAnnotation</td> |
| <td>To allow one and only parameterized annotation to be located on the same line as target element.</td> |
| <td><a href="property_types.html#boolean">Boolean</a></td> |
| <td><code>false</code></td> |
| <td>6.4</td> |
| </tr> |
| <tr> |
| <td>tokens</td> |
| <td>tokens to check</td> |
| <td>subset of tokens |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PARAMETER_DEF">PARAMETER_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_DEF">ANNOTATION_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_THROWS">LITERAL_THROWS</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPLEMENTS_CLAUSE">IMPLEMENTS_CLAUSE</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_ARGUMENT">TYPE_ARGUMENT</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">LITERAL_NEW</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">DOT</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">ANNOTATION_FIELD_DEF</a>. |
| </td> |
| <td> |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>. |
| </td> |
| <td>6.0</td> |
| </tr> |
| </table> |
| </subsection> |
| |
| <subsection name="Examples"> |
| <p> |
| Example to allow multiple annotations on the same line |
| </p> |
| <source> |
| @SuppressWarnings("deprecation") @Mock DataLoader loader; // no violations |
| </source> |
| <p> |
| Use following configuration: |
| </p> |
| <source> |
| <module name="AnnotationLocation"> |
| <property name="allowSamelineMultipleAnnotations" value="true"/> |
| <property name="allowSamelineSingleParameterlessAnnotation" value="false"/> |
| <property name="allowSamelineParameterizedAnnotation" value="false"/> |
| </module> |
| </source> |
| <p> |
| Example to allow one single parameterless annotation on the same line |
| </p> |
| <source> |
| @Override public int hashCode() { ... } // no violations |
| @SuppressWarnings("deprecation") public int foo() { ... } // violation |
| </source> |
| <p> |
| Use following configuration: |
| </p> |
| <source> |
| <module name="AnnotationLocation"> |
| <property name="allowSamelineMultipleAnnotations" value="false"/> |
| <property name="allowSamelineSingleParameterlessAnnotation" value="true"/> |
| <property name="allowSamelineParameterizedAnnotation" value="false"/> |
| </module> |
| </source> |
| <p> |
| Example to allow only one and only pametrized annotation on the same line |
| </p> |
| <source> |
| @SuppressWarnings("deprecation") DataLoader loader; // no violations |
| @Mock DataLoader loader; // violation |
| </source> |
| <p> |
| Use following configuration: |
| </p> |
| <source> |
| <module name="AnnotationLocation"> |
| <property name="allowSamelineMultipleAnnotations" value="false"/> |
| <property name="allowSamelineSingleParameterlessAnnotation" value="false"/> |
| <property name="allowSamelineParameterizedAnnotation" value="true"/> |
| </module> |
| </source> |
| <p> |
| The following example demonstrates how the check validates annotations of method parameters, |
| catch parameters, foreach, for-loop variable definitions. |
| </p> |
| <p>Configuration:</p> |
| <source> |
| <module name="AnnotationLocation"> |
| <property name="allowSamelineMultipleAnnotations" value="false"/> |
| <property name="allowSamelineSingleParameterlessAnnotation" value="false"/> |
| <property name="allowSamelineParameterizedAnnotation" value="false"/> |
| <property name="tokens" value="VARIABLE_DEF, PARAMETER_DEF"/> |
| </module> |
| </source> |
| <p>Code example:</p> |
| <source> |
| public void test(@MyAnnotation String s) { // OK |
| ... |
| for (@MyAnnotation char c : s.toCharArray()) { ... } // OK |
| ... |
| try { ... } |
| catch (@MyAnnotation Exception ex) { ... } // OK |
| ... |
| for (@MyAnnotation int i = 0; i < 10; i++) { ... } // OK |
| ... |
| MathOperation c = (@MyAnnotation int a, @MyAnnotation int b) -> a + b; // OK |
| ... |
| } |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+AnnotationLocation"> |
| Google Style</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+AnnotationLocation"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.location%22"> |
| annotation.location</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.location.alone%22"> |
| annotation.location.alone</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="AnnotationOnSameLine"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 8.2</p> |
| <p> |
| The check does verifying that annotations are located on the same line with their targets. |
| Verifying with this check is not good practice, but it is using by some style guides. |
| </p> |
| </subsection> |
| |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>tokens</td> |
| <td>tokens to check</td> |
| <td>subset of tokens |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PARAMETER_DEF">PARAMETER_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_DEF">ANNOTATION_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_THROWS">LITERAL_THROWS</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPLEMENTS_CLAUSE">IMPLEMENTS_CLAUSE</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_ARGUMENT">TYPE_ARGUMENT</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">LITERAL_NEW</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">DOT</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">ANNOTATION_FIELD_DEF</a>. |
| </td> |
| <td> |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>. |
| </td> |
| <td>8.2</td> |
| </tr> |
| </table> |
| </subsection> |
| |
| <subsection name="Examples"> |
| <p> |
| To configure the check: |
| </p> |
| <source> |
| <module name="AnnotationOnSameLine"/> |
| </source> |
| <p> |
| Example to allow annotations on the same line |
| </p> |
| <source> |
| @Override public int toString() { ... } // no violations |
| @Before @Override public void set() { ... } // no violation |
| </source> |
| <p> |
| Example to disallow annotations on previous line |
| </p> |
| <source> |
| @SuppressWarnings("deprecation") // violation |
| @Override // violation |
| public int foo() { ... } |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+AnnotationOnSameLine"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.same.line%22"> |
| annotation.same.line</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="AnnotationUseStyle"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.0</p> |
| <p> This check controls the style with the usage of annotations. |
| </p> |
| </subsection> |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>elementStyle</td> |
| <td> |
| <p> |
| Defines the annotation element styles. |
| </p> |
| </td> |
| <td> |
| <a href="property_types.html#elementStyle">element style</a> |
| </td> |
| <td> |
| <code>compact_no_array</code> |
| </td> |
| <td>5.0</td> |
| </tr> |
| <tr> |
| <td>closingParens</td> |
| <td> |
| Defines the policy for ending parenthesis. |
| </td> |
| <td> |
| <a href="property_types.html#closingParens">closing parens</a> |
| </td> |
| <td> |
| <code>never</code> |
| </td> |
| <td>5.0</td> |
| </tr> |
| <tr> |
| <td>trailingArrayComma</td> |
| <td> |
| Defines the policy for trailing comma in arrays. |
| </td> |
| <td> |
| <a href="property_types.html#trailingArrayComma">trailing comma</a> |
| </td> |
| <td> |
| <code>never</code> |
| </td> |
| <td>5.0</td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Examples"> |
| <p> To configure the check:</p> |
| <source> <module name="AnnotationUseStyle"/> |
| </source> |
| |
| <p> |
| To configure the check to enforce an |
| <code>expanded</code> style, with a |
| trailing array comma set to <code>never</code> |
| and always including the closing |
| parenthesis. |
| </p> |
| <source> |
| <module name="AnnotationUseStyle"> |
| <property name="elementStyle" value="expanded"/> |
| <property name="trailingArrayComma" value="never"/> |
| <property name="closingParens" value="always"/> |
| </module> |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+AnnotationUseStyle"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.incorrect.style%22"> |
| annotation.incorrect.style</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.parens.missing%22"> |
| annotation.parens.missing</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.parens.present%22"> |
| annotation.parens.present</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.trailing.comma.missing%22"> |
| annotation.trailing.comma.missing</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.trailing.comma.present%22"> |
| annotation.trailing.comma.present</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="MissingDeprecated"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.0</p> |
| <p> Verifies that both the java.lang.Deprecated annotation is |
| present and the @deprecated Javadoc tag is present when |
| either is present.</p> |
| </subsection> |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>skipNoJavadoc</td> |
| <td>When this property is set to true check 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. |
| </td> |
| <td><a href="property_types.html#boolean">Boolean</a></td> |
| <td>false</td> |
| <td>6.16</td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Examples"> |
| <p> To configure the check:</p> |
| <source> |
| <module name="MissingDeprecated"/> |
| </source> |
| <p> In addition you can configure this check with skipNoJavadoc option: </p> |
| <source> |
| <module name="MissingDeprecated"> |
| <property name="skipNoJavadoc" value="true" /> |
| </module> |
| </source> |
| <p>Examples of validating source code with skipNoJavadoc:</p> |
| <source> |
| @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 |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+MissingDeprecated"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.missing.deprecated%22"> |
| annotation.missing.deprecated</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22javadoc.duplicateTag%22"> |
| javadoc.duplicateTag</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22javadoc.missing%22"> |
| javadoc.missing</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="MissingOverride"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.0</p> |
| <p> Verifies that the java.lang.Override annotation is present |
| when the {@inheritDoc} javadoc tag is present.</p> |
| </subsection> |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>javaFiveCompatibility</td> |
| <td> |
| When this property is true this check will only check |
| classes, interfaces, etc. that do not contain the extends |
| or implements keyword or are not anonymous classes. This |
| means it only checks methods overridden from |
| <code>java.lang.Object</code> |
| <b>Java 5 Compatibility mode severely limits this |
| check. It is recommended to only use it on Java 5 source </b> |
| </td> |
| <td> |
| <a href="property_types.html#boolean">Boolean</a> |
| </td> |
| <td> |
| <code>false</code> |
| </td> |
| <td>5.0</td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Examples"> |
| <p> To configure the check:</p> |
| <source> <module name="MissingOverride"/> |
| </source> |
| |
| <p> |
| To configure the check for the <code>javaFiveCompatibility</code> |
| mode: |
| </p> |
| <source> |
| <module name="MissingOverride"> |
| <property name="javaFiveCompatibility" |
| value="true"/> |
| </module> |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+MissingOverride"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.missing.override%22"> |
| annotation.missing.override</a> |
| </li> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22tag.not.valid.on%22"> |
| tag.not.valid.on</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="PackageAnnotation"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.0</p> |
| <p> This check makes sure that all package annotations are in the |
| package-info.java file. |
| </p> |
| <p> |
| According to the Java Language Specification. |
| </p> |
| |
| <p> |
| The JLS does not enforce the placement of package annotations. |
| This placement may vary based on implementation. The JLS |
| does highly recommend that all package annotations are |
| placed in the package-info.java file. |
| |
| See <a |
| href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-7.html#jls-7.4.1"> |
| Java Language Specification, section 7.4.1</a>. |
| </p> |
| </subsection> |
| |
| <subsection name="Examples"> |
| <p> To configure the check:</p> |
| <source> <module name="PackageAnnotation"/> |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+PackageAnnotation"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22annotation.package.location%22"> |
| annotation.package.location</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="SuppressWarnings"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.0</p> |
| <p> This check allows you to specify what warnings that |
| SuppressWarnings is not allowed to suppress. |
| You can also specify a list of TokenTypes that |
| the configured warning(s) cannot be suppressed on.</p> |
| |
| <p> |
| Limitations: This check does not consider conditionals |
| inside the SuppressWarnings annotation. <br/> |
| For example: @SuppressWarnings((false) ? (true) ? "unchecked" : "foo" : "unused") |
| According to the above example, the "unused" warning is being suppressed |
| not the "unchecked" or "foo" warnings. All of these warnings will be |
| considered and matched against regardless of what the conditional |
| evaluates to. |
| <br/> |
| The check also does not support code like <code>@SuppressWarnings("un" + "used")</code>, |
| <code>@SuppressWarnings((String) "unused")</code> or |
| <code>@SuppressWarnings({('u' + (char)'n') + (""+("used" + (String)"")),})</code>. |
| </p> |
| </subsection> |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>format</td> |
| <td> |
| The warnings property is a regex pattern. Any warning |
| being suppressed matching this pattern will be flagged. |
| </td> |
| <td> |
| <a href="property_types.html#regexp">Regular Expression</a> |
| </td> |
| <td> |
| <code>"^$|^\s+$"</code> |
| </td> |
| <td>5.0</td> |
| </tr> |
| |
| <tr> |
| <td>tokens</td> |
| <td>tokens to check</td> |
| |
| <td> |
| subset of tokens |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_DEF">ANNOTATION_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">ANNOTATION_FIELD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">ENUM_CONSTANT_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PARAMETER_DEF">PARAMETER_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>. |
| </td> |
| |
| <td> |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">CLASS_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">INTERFACE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">ENUM_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_DEF">ANNOTATION_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">ANNOTATION_FIELD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">ENUM_CONSTANT_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PARAMETER_DEF">PARAMETER_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">VARIABLE_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">METHOD_DEF</a>, |
| <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">CTOR_DEF</a>. |
| </td> |
| <td>5.0</td> |
| </tr> |
| |
| </table> |
| </subsection> |
| <subsection name="Examples"> |
| <p> To configure the check:</p> |
| <source> <module name="SuppressWarnings"/> |
| </source> |
| |
| <p> |
| To configure the check so that the "unchecked" and "unused" |
| warnings cannot be suppressed on anything |
| but variable and parameter declarations. |
| </p> |
| <source> |
| <module name="SuppressWarnings"> |
| <property name="format" |
| value="^unchecked$|^unused$"/> |
| <property name="tokens" |
| value=" |
| CLASS_DEF,INTERFACE_DEF,ENUM_DEF, |
| ANNOTATION_DEF,ANNOTATION_FIELD_DEF, |
| ENUM_CONSTANT_DEF,METHOD_DEF,CTOR_DEF |
| "/> |
| </module> |
| </source> |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+SuppressWarnings"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fannotation+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22suppressed.warning.not.allowed%22"> |
| suppressed.warning.not.allowed</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks.annotation </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| </section> |
| |
| <section name="SuppressWarningsHolder"> |
| <subsection name="Description"> |
| <p>Since Checkstyle 5.7</p> |
| <p> |
| Maintains a set of check suppressions from |
| <code>@SuppressWarnings</code> annotations. It allows to |
| prevent Checkstyle from reporting errors from parts of code |
| that were annotated with <code>@SuppressWarnings</code> and |
| using name of the check to be excluded. You can also define |
| aliases for check names that need to be suppressed. |
| </p> |
| </subsection> |
| |
| <subsection name="Properties"> |
| <table> |
| <tr> |
| <th>name</th> |
| <th>description</th> |
| <th>type</th> |
| <th>default value</th> |
| <th>since</th> |
| </tr> |
| <tr> |
| <td>aliasList</td> |
| <td>Aliases for check names that can be used in code within <code>SuppressWarnings</code></td> |
| <td><a href="property_types.html#stringSet">String Set</a> in a format of comma separated attribute=value entries. |
| The attribute is the fully qualified name of the Check and value is its alias.</td> |
| <td>null</td> |
| <td>5.7</td> |
| </tr> |
| </table> |
| </subsection> |
| |
| <subsection name="Examples"> |
| <p>To prevent <code>FooCheck</code> errors from being reported write:</p> |
| <source> |
| @SuppressWarnings("foo") interface I { } |
| @SuppressWarnings("foo") enum E { } |
| @SuppressWarnings("foo") InputSuppressWarningsFilter() { } |
| </source> |
| <br /> |
| <p>Some real check examples:</p> |
| <p>This will prevent from invocation of the MemberNameCheck: |
| <source> |
| @SuppressWarnings({"membername"}) |
| private int J; |
| </source> |
| </p> |
| |
| <p>You can also use a <code>checkstyle</code> prefix to prevent compiler from processing this annotations. |
| For example this will prevent ConstantNameCheck |
| <source> |
| @SuppressWarnings("checkstyle:constantname") |
| private static final int m = 0; |
| </source> |
| </p> |
| |
| <p>The general rule is that the argument of the <code>@SuppressWarnings</code> will be matched against class name of the checker in lower case |
| and without <code>Check</code> suffix if present</p> |
| <p>If <code>aliasList</code> property was provided you can use your own names e.g below code will work if there was provided a <code>ParameterNumberCheck=paramnum</code> in the <code>aliasList</code> |
| <source> |
| @SuppressWarnings("paramnum") |
| public void needsLotsOfParameters(@SuppressWarnings("unused") int a, |
| int b, int c, int d, int e, int f, int g, int h) { |
| ... |
| } |
| </source> |
| </p> |
| |
| <p>It is possible to suppress all the checkstyle warnings with the argument <code>"all"</code>: |
| <source> |
| @SuppressWarnings("all") |
| public void someFunctionWithInvalidStyle() { |
| //... |
| } |
| </source> |
| </p> |
| |
| </subsection> |
| |
| <subsection name="Example of Usage"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+SuppressWarningsHolder"> |
| Checkstyle Style</a> |
| </li> |
| </ul> |
| </subsection> |
| |
| <subsection name="Error Messages"> |
| <ul> |
| <li> |
| <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22suppress.warnings.invalid.target%22"> |
| suppress.warnings.invalid.target</a> |
| </li> |
| </ul> |
| <p> |
| All messages can be customized if the default message doesn't suit you. |
| Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to. |
| </p> |
| </subsection> |
| |
| <subsection name="Package"> |
| <p> com.puppycrawl.tools.checkstyle.checks </p> |
| </subsection> |
| |
| <subsection name="Parent Module"> |
| <p> <a href="config.html#TreeWalker">TreeWalker</a> </p> |
| </subsection> |
| |
| </section> |
| </body> |
| </document> |