1
2
3
4
5 package com.qulice.checkstyle;
6
7 import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
8 import com.puppycrawl.tools.checkstyle.api.DetailAST;
9 import com.puppycrawl.tools.checkstyle.api.TokenTypes;
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public final class NoJavadocForPrivateMethodsCheck extends AbstractCheck {
28
29
30
31
32 public NoJavadocForPrivateMethodsCheck() {
33
34 }
35
36 @Override
37 public int[] getDefaultTokens() {
38 return new int[] {TokenTypes.METHOD_DEF};
39 }
40
41 @Override
42 public int[] getAcceptableTokens() {
43 return this.getDefaultTokens();
44 }
45
46 @Override
47 public int[] getRequiredTokens() {
48 return this.getDefaultTokens();
49 }
50
51 @Override
52 @SuppressWarnings("deprecation")
53 public void visitToken(final DetailAST ast) {
54 final boolean prv = ast.findFirstToken(TokenTypes.MODIFIERS)
55 .findFirstToken(TokenTypes.LITERAL_PRIVATE) != null;
56 if (prv && this.getFileContents().getJavadocBefore(ast.getLineNo()) != null) {
57 final DetailAST name = ast.findFirstToken(TokenTypes.IDENT);
58 this.log(
59 name,
60 String.format(
61 "Private method \"%s\" must not have Javadoc",
62 name.getText()
63 )
64 );
65 }
66 }
67 }