View Javadoc
1   /*
2   OverloadMethodsDeclarationOrder
3   
4   
5   */
6   
7   package com.puppycrawl.tools.checkstyle.checks.coding.overloadmethodsdeclarationorder;
8   
9   class InputOverloadMethodsDeclarationOrder
10  {
11      public void overloadMethod(int i)
12      {
13          //some foo code
14      }
15  
16      public void overloadMethod(String s)
17      {
18          //some foo code
19      }
20  
21      public void overloadMethod(boolean b)
22      {
23          //some foo code
24      }
25  
26      public void fooMethod()
27      {
28  
29      }
30  
31      //violation: because overloads never split
32      public void overloadMethod(String s, Boolean b, int i) // violation
33      {
34          //some foo code
35      }
36  
37      InputOverloadMethodsDeclarationOrder anonymous = new InputOverloadMethodsDeclarationOrder()
38      {
39          public void overloadMethod(int i)
40          {
41              //some foo code
42          }
43  
44          public void overloadMethod(String s)
45          {
46              //some foo code
47          }
48  
49          public void overloadMethod(boolean b)
50          {
51              //some foo code
52          }
53  
54          public void fooMethod()
55          {
56  
57          }
58  
59          //violation: because overloads never split
60          public void overloadMethod(String s, Boolean b, int i) // violation
61          {
62              //some foo code
63          };
64  
65          public void overloadMethod(double d)
66          {
67            // violation 2 lines above
68            /*
69             * Explanation of violation:
70             * There is a semicolon at the end of the previous method
71             * which is separating these overloaded methods
72             * and causing the violation.
73             */
74          }
75      };
76  }
77  
78  interface Fooable
79  {
80      public abstract void foo(int i);
81      public abstract void foo(String s);
82      public abstract void noFoo();
83      public abstract void foo(String s, Boolean b, int i); // violation
84  }
85  
86  enum FooType {
87      Strategy(""),
88      Shooter(""),
89      RPG("");
90  
91      private String description;
92  
93      private FooType(String description) {
94          this.description = description;
95      }
96  
97      public String getDescription() {
98          return description;
99      }
100 
101     public void setDescription(String description) {
102         this.description = description;
103     }
104 
105     public void overloadMethod(int i)
106     {
107         //some foo code
108     }
109 
110     public void overloadMethod(String s)
111     {
112         //some foo code
113     }
114 
115     // comments between overloaded methods are allowed.
116     public void overloadMethod(boolean b)
117     {
118         //some foo code
119     }
120 
121     public void fooMethod()
122     {
123 
124     }
125 
126     //violation: because overloads never split
127     public void overloadMethod(String s, Boolean b, int i) // violation
128     {
129         //some foo code
130     }
131 
132     void test() {}
133 
134     String str;
135 
136     private interface Testing {}
137 
138     void test(int x) {} // violation
139 
140     private class Inner {
141         void test() {}
142 
143         void test(String str) {}
144 
145         void test2() {}
146 
147         String str;
148 
149         void test(int x) {} // violation
150     }
151 
152     void test(double d) {} // violation
153 }
154 
155 enum Foo2 {
156     VALUE {
157         public void value() {
158             value("");
159         }
160 
161         public void middle() {
162         }
163 
164         public void value(String s) {
165         }
166     };
167 }
168 
169 @interface ClassPreamble {
170     String author();
171 }