1 <?xml version="1.0" encoding="UTF-8" ?>
3 <!DOCTYPE module PUBLIC
4 "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
5 "https://checkstyle.org/dtds/configuration_1_3.dtd">
9 for Checkstyle 8.18 or later
11 [ https://checkstyle.org/ ]
13 Copyright(c) 2010 olyutorskii
17 <module name="Checker">
19 <property name="charset" value="UTF-8" />
20 <property name="localeCountry" value="JP" />
21 <property name="localeLanguage" value="en" />
22 <!--property name="localeLanguage" value="ja" /-->
23 <property name="fileExtensions" value="java, xml, properties" />
24 <property name="severity" value="error" />
28 <module name="SeverityMatchFilter" />
29 <!--module name="SuppressionFilter" /-->
30 <module name="SuppressWarningsFilter" />
31 <module name="SuppressWithPlainTextCommentFilter" />
35 <module name="Header">
36 <property name="header" value="<?xml version="1.0" encoding="UTF-8" ?>" />
37 <property name="fileExtensions" value="xml" />
39 <module name="RegexpHeader">
40 <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
41 <property name="multiLines" value="2" />
42 <property name="fileExtensions" value="java" />
46 <!-- Javadoc Comments -->
47 <module name="JavadocPackage" />
50 <!-- Miscellaneous -->
51 <module name="NewlineAtEndOfFile">
52 <property name="fileExtensions" value="java" />
54 <module name="Translation" />
55 <module name="UniqueProperties" />
59 <module name="RegexpMultiline">
60 <property name="format" value="[\u000b\f\u001a]" />
62 <module name="RegexpOnFilename" />
63 <module name="RegexpSingleline">
64 <property name="format" value="\s+$" />
66 <module name="RegexpSingleline">
68 <property name="format" value="<<<<<" />
72 <!-- Size Violations -->
73 <module name="FileLength">
74 <property name="max" value="2000"/>
79 <module name="FileTabCharacter" />
82 <module name="BeforeExecutionExclusionFileFilter">
83 <property name="fileNamePattern" value="module\-info\.java$" />
87 <module name="TreeWalker">
89 <property name="tabWidth" value="8" />
90 <property name="fileExtensions" value="java" />
92 <module name="SuppressWarningsHolder" />
97 <module name="SuppressionCommentFilter" />
98 <module name="SuppressWithNearbyCommentFilter" />
99 <!--module name="SuppressionXpathFilter" /-->
100 <!--module name="SuppressionXpathSingleFilter" /-->
105 <module name="AnnotationLocation" />
106 <module name="AnnotationOnSameLine" />
107 <module name="AnnotationUseStyle" />
108 <module name="MissingDeprecated" />
109 <module name="MissingOverride" />
110 <module name="PackageAnnotation" />
111 <module name="SuppressWarnings" />
112 <module name="SuppressWarningsHolder" />
115 <!-- Block Checks -->
117 <module name="AvoidNestedBlocks" />
118 <module name="EmptyBlock" />
119 <module name="EmptyCatchBlock" />
120 <module name="LeftCurly" />
121 <module name="NeedBraces">
122 <property name="allowSingleLineStatement" value="true" />
124 <module name="RightCurly" />
127 <!-- Class Design -->
129 <module name="DesignForExtension" />
130 <module name="FinalClass" />
131 <module name="HideUtilityClassConstructor" />
132 <module name="InnerTypeLast" />
133 <module name="InterfaceIsType" />
134 <module name="MutableException" />
135 <module name="OneTopLevelClass" />
136 <module name="ThrowsCount">
137 <property name="max" value="4" />
139 <module name="VisibilityModifier" />
144 <module name="ArrayTrailingComma" />
145 <module name="AvoidInlineConditionals" />
146 <module name="CovariantEquals" />
147 <module name="DeclarationOrder" />
148 <module name="DefaultComesLast" />
149 <module name="EmptyStatement" />
150 <module name="EqualsAvoidNull" />
151 <module name="EqualsHashCode" />
152 <module name="ExplicitInitialization" />
153 <module name="FallThrough" />
154 <module name="FinalLocalVariable" />
155 <module name="HiddenField">
156 <property name="ignoreConstructorParameter" value="true" />
157 <property name="ignoreSetter" value="true" />
158 <property name="setterCanReturnItsClass" value="true" />
159 <property name="ignoreAbstractMethods" value="true" />
161 <module name="IllegalCatch" />
162 <module name="IllegalInstantiation" />
163 <module name="IllegalThrows" />
164 <module name="IllegalToken">
165 <property name="tokens" value="LITERAL_NATIVE" />
167 <module name="IllegalTokenText">
168 <property name="tokens" value="NUM_INT, NUM_LONG" />
169 <property name="format" value="^0_*[0-7]" />
170 <property name="message" value="inhibit octal number" />
172 <module name="IllegalType" />
173 <module name="InnerAssignment" />
174 <module name="MagicNumber" />
175 <module name="MissingCtor" />
176 <module name="MissingSwitchDefault" />
177 <module name="ModifiedControlVariable" />
178 <module name="MultipleStringLiterals" />
179 <module name="MultipleVariableDeclarations" />
180 <module name="NestedForDepth" />
181 <module name="NestedIfDepth" />
182 <module name="NestedTryDepth" />
183 <module name="NoClone" />
184 <module name="NoFinalizer" />
185 <module name="OneStatementPerLine" />
186 <module name="OverloadMethodsDeclarationOrder" />
187 <module name="PackageDeclaration" />
188 <module name="ParameterAssignment" />
189 <module name="RequireThis">
190 <property name="checkMethods" value="false" />
192 <module name="ReturnCount">
193 <property name="max" value="5" />
195 <module name="SimplifyBooleanExpression" />
196 <module name="SimplifyBooleanReturn" />
197 <module name="StringLiteralEquality" />
198 <module name="SuperClone" />
199 <module name="SuperFinalize" />
200 <module name="UnnecessaryParentheses" />
201 <module name="VariableDeclarationUsageDistance">
202 <property name="allowedDistance" value="5" />
208 <module name="AvoidStarImport" />
209 <module name="AvoidStaticImport" />
210 <module name="CustomImportOrder" />
211 <module name="IllegalImport" />
212 <!--module name="ImportControl" /-->
213 <module name="ImportOrder" />
214 <module name="RedundantImport" />
215 <module name="UnusedImports" />
218 <!-- Javadoc Comments -->
220 <module name="AtclauseOrder" />
221 <module name="JavadocMethod" />
222 <module name="JavadocParagraph" />
223 <module name="JavadocStyle">
225 name="endOfSentenceFormat"
226 value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
227 <property name="checkEmptyJavadoc" value="true" />
228 <property name="checkHtml" value="true" />
230 <module name="JavadocTagContinuationIndentation" />
231 <module name="JavadocType" />
232 <module name="JavadocVariable">
233 <property name="scope" value="protected" />
235 <module name="NonEmptyAtclauseDescription" />
236 <module name="SingleLineJavadoc" />
237 <module name="SummaryJavadocCheck" />
238 <module name="WriteTag" />
243 <module name="BooleanExpressionComplexity" />
244 <module name="ClassDataAbstractionCoupling" />
245 <module name="ClassFanOutComplexity" />
246 <module name="CyclomaticComplexity" />
247 <module name="JavaNCSS" />
248 <module name="NPathComplexity" />
251 <!-- Miscellaneous -->
253 <module name="ArrayTypeStyle" />
254 <module name="AvoidEscapedUnicodeCharacters">
255 <property name="allowEscapesForControlCharacters" value="true" />
256 <property name="allowByTailComment" value="true" />
257 <property name="allowIfAllCharactersEscaped" value="true" />
258 <property name="allowNonPrintableEscapes" value="true" />
260 <module name="CommentsIndentation" />
261 <module name="DescendantToken" />
262 <module name="FinalParameters" />
263 <module name="Indentation">
264 <property name="caseIndent" value="0" />
266 <module name="OuterTypeFilename" />
267 <module name="TodoComment">
268 <property name="format" value="TODO" />
270 <module name="TrailingComment" />
271 <module name="UncommentedMain" />
272 <module name="UpperEll" />
277 <module name="ClassMemberImpliedModifier" />
278 <module name="InterfaceMemberImpliedModifier" />
279 <module name="ModifierOrder" />
280 <module name="RedundantModifier" />
283 <!-- Naming Conventions -->
285 <module name="AbbreviationAsWordInName" />
286 <module name="AbstractClassName">
289 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
292 <module name="CatchParameterName" />
293 <module name="ClassTypeParameterName" />
294 <module name="ConstantName" />
295 <module name="InterfaceTypeParameterName" />
296 <module name="LambdaParameterName" />
297 <module name="LocalFinalVariableName">
298 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
300 <module name="LocalVariableName">
301 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
303 <module name="MemberName">
304 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
306 <module name="MethodName" />
307 <module name="MethodTypeParameterName" />
308 <module name="PackageName" />
309 <module name="ParameterName">
310 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
312 <module name="StaticVariableName">
313 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
315 <module name="TypeName" />
320 <module name="Regexp">
321 <property name="format" value="@author" />
322 <property name="illegalPattern" value="true" />
324 <module name="Regexp">
325 <property name="format" value="^ \* Copyright\(c\)" />
327 <module name="Regexp">
328 <property name="format" value="^ \* License : The MIT License" />
329 <property name="duplicateLimit" value="1" />
331 <module name="RegexpSinglelineJava">
332 <property name="format" value="\u0000" />
336 <!-- Size Violations -->
338 <module name="AnonInnerLength" />
339 <module name="ExecutableStatementCount" />
340 <module name="LineLength">
341 <property name="max" value="78" />
343 <module name="MethodCount" />
344 <module name="MethodLength" />
345 <module name="OuterTypeNumber" />
346 <module name="ParameterNumber" />
351 <module name="EmptyForInitializerPad" />
352 <module name="EmptyForIteratorPad" />
353 <module name="EmptyLineSeparator">
368 <module name="GenericWhitespace" />
369 <module name="MethodParamPad">
372 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
375 <module name="NoLineWrap" />
376 <module name="NoWhitespaceAfter">
377 <property name="allowLineBreaks" value="false" />
378 <property name="tokens" value="INC, DEC, DOT" />
380 <module name="NoWhitespaceBefore">
381 <property name="allowLineBreaks" value="false" />
382 <property name="tokens" value="COMMA, POST_INC, POST_DEC" />
384 <module name="NoWhitespaceBefore">
385 <property name="allowLineBreaks" value="true" />
386 <property name="tokens" value="SEMI" />
388 <module name="OperatorWrap">
389 <property name="option" value="eol" />
393 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
394 PLUS_ASSIGN, MINUS_ASSIGN,
395 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
396 SL_ASSIGN, SR_ASSIGN, BSR_ASSIGN"
399 <module name="OperatorWrap">
400 <property name="option" value="nl" />
405 PLUS, MINUS, STAR, DIV, MOD,
410 <module name="ParenPad">
411 <property name="option" value="nospace" />
414 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
417 <module name="SeparatorWrap">
418 <property name="tokens" value="DOT" />
419 <property name="option" value="nl" />
421 <module name="SingleSpaceSeparator" />
422 <module name="TypecastParenPad" />
423 <module name="WhitespaceAfter" >
424 <property name="tokens" value="COMMA, SEMI," />
426 <module name="WhitespaceAround">
431 BAND, BOR, BXOR, BSR,
432 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
434 SL_ASSIGN, SR_ASSIGN,
435 MINUS, STAR, DIV, MOD,
436 PLUS_ASSIGN, MINUS_ASSIGN,
437 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
438 EQUAL, NOT_EQUAL, GT, GE, LT, LE,