1 <?xml version="1.0" encoding="UTF-8"?>
3 <!DOCTYPE module PUBLIC
4 "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
5 "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
12 [ http://checkstyle.sourceforge.net/ ]
14 Copyright(c) 2010 olyutorskii
18 <module name="Checker">
20 <property name="charset" value="UTF-8" />
21 <property name="severity" value="error" />
24 <!-- Duplicate Code -->
25 <module name="StrictDuplicateCode">
26 <property name="min" value="20" />
31 <module name="RegexpHeader">
32 <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
33 <property name="multiLines" value="2" />
37 <!-- Javadoc Comments -->
38 <module name="JavadocPackage" />
41 <!-- Miscellaneous -->
42 <module name="NewlineAtEndOfFile" />
43 <module name="Translation" />
47 <module name="RegexpSingleline">
48 <property name="format" value="\s+$" />
49 <property name="minimum" value="0" />
50 <property name="maximum" value="0" />
54 <!-- Size Violations -->
55 <module name="FileLength" />
59 <module name="FileTabCharacter" />
63 <module name="SeverityMatchFilter" />
64 <module name="SuppressionFilter" />
65 <module name="SuppressionCommentFilter" />
66 <module name="SuppressWithNearbyCommentFilter" />
70 <module name="TreeWalker">
72 <property name="tabWidth" value="4" />
77 <module name="AnnotationUseStyle" />
78 <module name="MissingDeprecated" />
79 <module name="MissingOverride" />
80 <module name="PackageAnnotation" />
81 <module name="SuppressWarnings" />
86 <module name="EmptyBlock" />
87 <module name="LeftCurly" />
88 <module name="NeedBraces">
89 <property name="tokens" value="LITERAL_DO" />
91 <module name="RightCurly" />
92 <module name="AvoidNestedBlocks" />
97 <module name="VisibilityModifier" />
98 <module name="FinalClass" />
99 <module name="InterfaceIsType" />
100 <module name="HideUtilityClassConstructor" />
101 <!-- <module name="DesignForExtension" /> -->
102 <module name="MutableException" />
103 <module name="ThrowsCount">
104 <property name="max" value="4" />
110 <module name="ArrayTrailingComma" />
111 <module name="AvoidInlineConditionals" />
112 <module name="CovariantEquals" />
113 <module name="DoubleCheckedLocking" />
114 <module name="EmptyStatement" />
115 <module name="EqualsAvoidNull" />
116 <module name="EqualsHashCode" />
117 <!-- <module name="FinalLocalVariable" /> -->
118 <module name="HiddenField">
119 <property name="ignoreConstructorParameter" value="true" />
120 <property name="ignoreSetter" value="true" />
121 <property name="ignoreAbstractMethods" value="true" />
123 <module name="IllegalInstantiation">
126 value="java.lang.Boolean, java.lang.Integer" />
128 <module name="IllegalToken">
129 <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
131 <module name="IllegalTokenText">
132 <property name="tokens" value="NUM_INT, NUM_LONG" />
133 <property name="format" value="^0[^lx]" />
134 <property name="ignoreCase" value="true" />
136 <module name="InnerAssignment" />
137 <module name="MagicNumber" />
138 <module name="MissingSwitchDefault" />
139 <module name="ModifiedControlVariable" />
140 <module name="RedundantThrows">
141 <property name="allowUnchecked" value="true" />
142 <property name="allowSubclasses" value="true" />
144 <module name="SimplifyBooleanExpression" />
145 <module name="SimplifyBooleanReturn" />
146 <module name="StringLiteralEquality" />
147 <module name="NestedIfDepth" />
148 <module name="NestedTryDepth" />
149 <module name="NoClone" />
150 <module name="NoFinalizer" />
151 <module name="SuperClone" />
152 <module name="SuperFinalize" />
153 <module name="IllegalCatch" />
154 <module name="IllegalThrows" />
155 <module name="PackageDeclaration" />
156 <module name="JUnitTestCase" />
157 <module name="ReturnCount">
158 <property name="max" value="3" />
160 <module name="IllegalType" />
161 <module name="DeclarationOrder" />
162 <module name="ParameterAssignment" />
163 <!-- <module name="ExplicitInitialization" /> -->
164 <module name="DefaultComesLast" />
165 <module name="MissingCtor" />
166 <module name="FallThrough" />
167 <module name="MultipleStringLiterals" />
168 <module name="MultipleVariableDeclarations" />
169 <module name="UnnecessaryParentheses" />
174 <module name="AvoidStarImport" />
175 <module name="AvoidStaticImport" />
176 <module name="IllegalImport" />
177 <module name="RedundantImport" />
178 <module name="UnusedImports" />
179 <module name="ImportOrder" />
180 <!-- <module name="ImportControl" /> -->
183 <!-- Javadoc Comments -->
185 <module name="JavadocType" />
186 <module name="JavadocMethod" />
187 <module name="JavadocVariable">
188 <property name="scope" value="protected" />
190 <module name="JavadocStyle">
192 name="endOfSentenceFormat"
193 value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
194 <property name="checkEmptyJavadoc" value="true" />
195 <property name="checkHtml" value="true" />
197 <!-- <module name="WriteTag" /> -->
202 <module name="BooleanExpressionComplexity" />
203 <module name="ClassDataAbstractionCoupling" />
204 <module name="ClassFanOutComplexity" />
205 <module name="CyclomaticComplexity" />
206 <module name="NPathComplexity" />
207 <module name="JavaNCSS" />
210 <!-- Miscellaneous -->
212 <module name="TodoComment">
213 <property name="format" value="TODO" />
215 <module name="UncommentedMain" />
216 <module name="UpperEll" />
217 <module name="ArrayTypeStyle" />
218 <!-- <module name="FinalParameters" /> -->
219 <module name="DescendantToken" />
221 <module name="Indentation">
222 <property name="basicOffset" value="4" />
223 <property name="caseIndent" value="0" />
226 <!-- <module name="TrailingComment" /> -->
227 <module name="Regexp">
228 <property name="format" value="@author" />
229 <property name="illegalPattern" value="true" />
231 <module name="Regexp">
232 <property name="format" value="^ \* Copyright\(c\)" />
234 <module name="Regexp">
235 <property name="format" value="^ \* License : The MIT License" />
236 <property name="duplicateLimit" value="1" />
241 <module name="ModifierOrder" />
242 <module name="RedundantModifier" />
245 <!-- Naming Conventions -->
247 <module name="AbstractClassName" />
248 <module name="ClassTypeParameterName" />
249 <module name="ConstantName" />
250 <module name="LocalFinalVariableName">
251 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
253 <module name="LocalVariableName">
254 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
256 <module name="MemberName">
257 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
259 <module name="MethodName" />
260 <module name="MethodTypeParameterName" />
261 <module name="PackageName" />
262 <module name="ParameterName">
263 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
265 <module name="StaticVariableName">
266 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
268 <module name="TypeName" />
271 <!-- Size Violations -->
273 <module name="ExecutableStatementCount" />
274 <module name="LineLength">
275 <property name="max" value="78" />
277 <module name="MethodLength" />
278 <module name="AnonInnerLength" />
279 <module name="ParameterNumber" />
280 <module name="OuterTypeNumber" />
285 <module name="GenericWhitespace" />
286 <module name="EmptyForInitializerPad" />
287 <module name="EmptyForIteratorPad" />
288 <module name="MethodParamPad">
289 <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL" />
291 <module name="NoWhitespaceAfter">
292 <property name="allowLineBreaks" value="false" />
293 <property name="tokens" value="DEC, DOT, INC" />
295 <module name="NoWhitespaceBefore">
296 <property name="allowLineBreaks" value="false" />
297 <property name="tokens" value="POST_DEC, POST_INC" />
299 <module name="NoWhitespaceBefore">
300 <property name="allowLineBreaks" value="true" />
301 <property name="tokens" value="SEMI" />
303 <module name="OperatorWrap">
304 <property name="option" value="eol" />
308 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
309 PLUS_ASSIGN, MINUS_ASSIGN,
310 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
311 SL_ASSIGN, SR_ASSIGN"
314 <module name="OperatorWrap">
315 <property name="option" value="nl" />
318 value="BAND, BOR, BXOR,
319 MINUS, STAR, DIV, MOD,
324 <module name="ParenPad">
325 <property name="option" value="nospace" />
326 <property name="tokens" value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL" />
328 <module name="TypecastParenPad" />
329 <module name="WhitespaceAfter">
330 <property name="tokens" value="COMMA, SEMI" />
332 <module name="WhitespaceAround">
337 BAND, BOR, BXOR, BSR,
338 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
340 SL_ASSIGN, SR_ASSIGN,
341 MINUS, STAR, DIV, MOD,
342 PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
343 EQUAL, NOT_EQUAL, GT, GE, LT, LE,
350 <module name="Header" />
351 <module name="RegexpSingleline" />
352 <module name="RegexpMultiline" />
353 <module name="RegexpSinglelineJava" />
357 <module name="RequireThis" />
361 <module name="TabCharacter" />