View Javadoc
1   /*
2   com.puppycrawl.tools.checkstyle.meta.JavadocMetadataScraper
3   writeXmlOutput = false
4   
5   
6   */
7   
8   package com.puppycrawl.tools.checkstyle.meta.javadocmetadatascraper;
9   
10  import java.util.regex.Matcher;
11  import java.util.regex.Pattern;
12  
13  import com.puppycrawl.tools.checkstyle.StatelessCheck;
14  import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
15  
16  
17  
18  
19  
20  
21  
22  /**
23   * <p>
24   * Requires user defined Javadoc tag to be present in Javadoc comment with defined format.
25   * To define the format for a tag, set property tagFormat to a regular expression.
26   * Property tagSeverity is used for severity of events when the tag exists.
27   * </p>
28   * <ul>
29   * <li>
30   * Property {@code tag} - Specify the name of tag.
31   * Type is {@code java.lang.String}.
32   * Default value is {@code null}.
33   * </li>
34   * <li>
35   * Property {@code tagFormat} - Specify the regexp to match tag content.
36   * Type is {@code java.util.regex.Pattern}.
37   * Default value is {@code null}.
38   * </li>
39   * <li>
40   * Property {@code tagSeverity} - Specify the severity level when tag is found and printed.
41   * Type is {@code com.puppycrawl.tools.checkstyle.api.SeverityLevel}.
42   * Default value is {@code info}.
43   * </li>
44   * <li>
45   * Property {@code tokens} - tokens to check
46   * Type is {@code java.lang.String[]}.
47   * Validation type is {@code tokenSet}.
48   * Default value is:
49   * <a href="https://checkstyle.org/apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">
50   * INTERFACE_DEF</a>,
51   * <a href="https://checkstyle.org/apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">
52   * CLASS_DEF</a>,
53   * <a href="https://checkstyle.org/apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">
54   * ENUM_DEF</a>,
55   * <a href="https://checkstyle.org/apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_DEF">
56   * ANNOTATION_DEF</a>,
57   * <a href="https://checkstyle.org/apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RECORD_DEF">
58   * RECORD_DEF</a>.
59   * </li>
60   * </ul>
61   * <p>
62   * To configure the check for printing author name:
63   * </p>
64   * <pre>
65   * &lt;module name="WriteTag"&gt;
66   *   &lt;property name="tag" value="@author"/&gt;
67   *   &lt;property name="tagFormat" value="\S"/&gt;
68   * &lt;/module&gt;
69   * </pre>
70   * <p>
71   * To configure the check to print warnings if an "@incomplete" tag is found,
72   * and not print anything if it is not found:
73   * </p>
74   * <pre>
75   * skipped as not relevant for UTs
76   * </pre>
77   * <p>
78   * Parent is {@code com.puppycrawl.tools.checkstyle.TreeWalker}
79   * </p>
80   * <p>
81   * Violation Message Keys:
82   * </p>
83   * <ul>
84   * <li>
85   * {@code javadoc.writeTag}
86   * </li>
87   * <li>
88   * {@code type.missingTag}
89   * </li>
90   * <li>
91   * {@code type.tagFormat}
92   * </li>
93   * </ul>
94   *
95   * @since 4.2
96   */
97  @StatelessCheck
98  public abstract class InputJavadocMetadataScraperWriteTagCheck extends AbstractCheck {
99  
100 }