View Javadoc
1   package com.google.checkstyle.test.chapter7javadoc.rule73wherejavadocrequired;
2   
3   /**
4    * The following is a bad tag.
5    *
6    * @mytag Hello
7    */
8   public class InputJavadocMethodAndMissingJavadocMethod extends OverrideClass {
9     // with comments
10  
11    /**
12     * Some javadoc.
13     *
14     * @return Some javadoc.
15     */
16    int foo1() {
17      return 1;
18    }
19  
20    /** Some javadoc. */
21    String foo2() {
22      return "Fooooooooooooooo" + "ooooo" + "ooo";
23    }
24  
25    /** Some javadoc. */
26    void foo3() {
27      foo2();
28    }
29  
30    /** Some javadoc. */
31    void foo4() {}
32  
33    // without comments
34  
35    int foo5() {
36      return 1;
37    }
38  
39    String foo6() {
40      return "Fooooooooooooooo" + "oooooooo";
41    }
42  
43    // violation below 'Missing a Javadoc comment.'
44    public String foo7() {
45      // making the method
46      // exceed "minLineCount" property limit ( 2 )
47      return "Fooooooooooooooo" + "ooooo" + "ooo";
48    }
49  
50    // ok, private method does not require javadoc
51    private String correct(String param) {
52      return "Fooooooooooooooo" + "ooooo" + "ooo" + param;
53    }
54  
55    /** Some javadoc. */
56    String defaultScope(int x) {
57      return "Fooooooooooooooo" + "ooooo" + "ooo" + x;
58    }
59  
60    /** Some javadoc. */
61    public void smallMethod1() {
62      foo2();
63    }
64  
65    /** some javadoc. */
66    protected void smallMethod2() {
67      foo2();
68    }
69  
70    /** Ok, missing params tags and return tags in javadoc are allowed. */
71    public String testingParams(String param1, String param2) {
72      return "Fooooooooooooooo" + "ooooo" + "ooo" + param1 + param2;
73    }
74  
75    /** Ok, missing params tags and return tags in javadoc are allowed. */
76    protected String testingParams(int param1, int param2) {
77      return "Fooooooooooooooo" + "ooooo" + "ooo" + param1 + param2;
78    }
79  
80    // violation below 'Missing a Javadoc comment.'
81    public InputJavadocMethodAndMissingJavadocMethod() {
82      foo2();
83      foo91();
84      foo4();
85      foo3();
86    }
87  
88    // ok, private constructor does not require javadoc
89    private InputJavadocMethodAndMissingJavadocMethod(float x) {
90      foo2();
91      foo91();
92      foo4();
93      foo3();
94    }
95  
96    // ok, default scope constructor does not require javadoc
97    InputJavadocMethodAndMissingJavadocMethod(int a) {
98      foo2();
99      foo91();
100     foo4();
101     foo3();
102   }
103 
104   /** Some javadoc. */
105   public InputJavadocMethodAndMissingJavadocMethod(int a, int b) {
106     foo2();
107   }
108 
109   // ok, constructors smaller than 2 lines does not require javadoc
110   private InputJavadocMethodAndMissingJavadocMethod(float a, float b) {
111     foo2();
112   }
113 
114   /** Ok, missing params tags in javadoc are allowed. */
115   public InputJavadocMethodAndMissingJavadocMethod(double a, double b) {
116     foo2();
117     foo91();
118     foo5();
119     foo82();
120   }
121 
122   void foo81() {
123     foo2();
124   }
125 
126   void foo82() {}
127 
128   void paramviolation(String param) {
129     foo2();
130   }
131 
132   @MyAnnotation
133   String foo91() {
134     return "Fooooooooooooooo" + "ooooo" + "ooo";
135   }
136 
137   @Override
138   public String foo92() {
139     return "Fooooo" + "ooo" + "ooooooo" + "ooooo" + "ooo";
140   }
141 }
142 
143 // violation below 'Top-level class OverrideClass has to reside in its own source file.'
144 class OverrideClass {
145 
146   public String foo92() {
147     return "Fooooo" + "ooo" + "ooooooo" + "ooooo" + "ooo";
148   }
149 }
150 
151 // violation below 'Top-level class MyAnnotation has to reside in its own source file.'
152 @interface MyAnnotation {}