1<?xml version="1.0"?>
2<!DOCTYPE module PUBLIC
3          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
6<module name="Checker">
7  <!--
8      If you set the basedir property below, then all reported file
9      names will be relative to the specified directory. See
10      http://checkstyle.sourceforge.net/5.x/config.html#Checker
11
12        <property name="basedir" value="${basedir}"/>
13    -->
14
15    <property name="severity" value="error"/>
16
17    <module name="SuppressionFilter">
18        <property name="file" value="${checkstyle.suppressions.file}"/>
19    </module>
20
21    <module name="SuppressionCommentFilter">
22        <property name="offCommentFormat" value="CSOFF\: ([\w\|]+)"/>
23        <property name="onCommentFormat" value="CSON\: ([\w\|]+)"/>
24        <property name="checkFormat" value="$1"/>
25    </module>
26
27    <module name="JavadocPackage">
28        <property name="allowLegacy" value="false"/>
29    </module>
30
31    <!-- this causes a ton of noise due to how this is abused in core for dealing with database dialects.-->
32    <!--module name="Translation">
33        <property name="severity" value="warning"/>
34    </module-->
35
36    <module name="FileTabCharacter">
37        <property name="eachLine" value="false"/>
38    </module>
39
40    <module name="FileLength">
41        <property name="fileExtensions" value="java"/>
42    </module>
43
44    <module name="NewlineAtEndOfFile">
45        <property name="fileExtensions" value="java"/>
46        <property name="lineSeparator" value="lf"/>
47    </module>
48
49    <module name="RegexpHeader">
50        <property name="headerFile" value="${checkstyle.header.file}"/>
51        <property name="fileExtensions" value="java"/>
52        <property name="id" value="header"/>
53    </module>
54
55    <module name="RegexpSingleline">
56        <property name="format" value="\s+$"/>
57        <property name="minimum" value="0"/>
58        <property name="maximum" value="0"/>
59    </module>
60
61    <module name="TreeWalker">
62        <property name="tabWidth" value="4"/>
63        <module name="FileContentsHolder"/>
64        <module name="AvoidStarImport"/>
65        <module name="ConstantName"/>
66        <module name="EmptyBlock"/>
67        <module name="EmptyForIteratorPad"/>
68        <module name="EqualsHashCode"/>
69        <module name="OneStatementPerLine"/>
70
71        <!-- module name="IllegalCatch"/ -->
72        <!--module name="ImportControl">
73          <property name="file" value="${checkstyle.importcontrol.file}"/>
74        </module-->
75        <module name="IllegalImport"/>
76        <module name="IllegalInstantiation"/>
77        <module name="IllegalThrows"/>
78        <module name="InnerAssignment"/>
79        <module name="JavadocType">
80            <property name="authorFormat" value="\S"/>
81        </module>
82        <module name="JavadocMethod">
83            <property name="allowUndeclaredRTE" value="true"/>
84            <property name="allowThrowsTagsForSubclasses" value="true"/>
85            <property name="allowMissingPropertyJavadoc" value="true"/>
86        </module>
87        <module name="JavadocVariable"/>
88        <module name="JavadocStyle">
89            <property name="scope" value="public"/>
90        </module>
91
92        <module name="LeftCurly">
93            <property name="option" value="eol"/>
94            <property name="tokens" value="CLASS_DEF"/>
95            <property name="tokens" value="CTOR_DEF"/>
96            <property name="tokens" value="INTERFACE_DEF"/>
97            <property name="tokens" value="METHOD_DEF"/>
98            <property name="tokens" value="LITERAL_CATCH"/>
99            <property name="tokens" value="LITERAL_DO"/>
100            <property name="tokens" value="LITERAL_ELSE"/>
101            <property name="tokens" value="LITERAL_FINALLY"/>
102            <property name="tokens" value="LITERAL_FOR"/>
103            <property name="tokens" value="LITERAL_IF"/>
104            <property name="tokens" value="LITERAL_SWITCH"/>
105            <property name="tokens" value="LITERAL_SYNCHRONIZED"/>
106            <property name="tokens" value="LITERAL_TRY"/>
107            <property name="tokens" value="LITERAL_WHILE"/>
108        </module>
109
110        <module name="OuterTypeNumber"/>
111        <module name="LineLength">
112            <property name="ignorePattern" value="^ *\* *[^ ]+$"/>
113            <property name="max" value="150"/>
114        </module>
115
116        <module name="MethodCount">
117            <property name="maxTotal" value="80"/>
118        </module>
119
120        <module name="LocalFinalVariableName"/>
121        <module name="LocalVariableName"/>
122        <module name="MemberName">
123            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
124        </module>
125        <module name="MethodLength">
126            <property name="max" value="160"/>
127            <property name="countEmpty" value="false"/>
128        </module>
129        <module name="MethodName"/>
130        <module name="MethodParamPad"/>
131        <module name="ModifierOrder"/>
132        <module name="NeedBraces"/>
133        <module name="NoWhitespaceAfter">
134            <property name="tokens" value="ARRAY_INIT"/>
135            <property name="tokens" value="BNOT"/>
136            <property name="tokens" value="DEC"/>
137            <property name="tokens" value="DOT"/>
138            <property name="tokens" value="INC"/>
139            <property name="tokens" value="LNOT"/>
140            <property name="tokens" value="UNARY_MINUS"/>
141            <property name="tokens" value="UNARY_PLUS"/>
142        </module>
143
144        <module name="NoWhitespaceBefore"/>
145        <module name="NoWhitespaceBefore">
146            <property name="tokens" value="DOT"/>
147            <property name="allowLineBreaks" value="true"/>
148        </module>
149
150        <module name="OperatorWrap"/>
151        <module name="OperatorWrap">
152            <property name="tokens" value="ASSIGN"/>
153            <property name="tokens" value="DIV_ASSIGN"/>
154            <property name="tokens" value="PLUS_ASSIGN"/>
155            <property name="tokens" value="MINUS_ASSIGN"/>
156            <property name="tokens" value="STAR_ASSIGN"/>
157            <property name="tokens" value="MOD_ASSIGN"/>
158            <property name="tokens" value="SR_ASSIGN"/>
159            <property name="tokens" value="BSR_ASSIGN"/>
160            <property name="tokens" value="SL_ASSIGN"/>
161            <property name="tokens" value="BXOR_ASSIGN"/>
162            <property name="tokens" value="BOR_ASSIGN"/>
163            <property name="tokens" value="BAND_ASSIGN"/>
164            <property name="option" value="eol"/>
165        </module>
166        <module name="PackageName"/>
167        <module name="ParameterName">
168            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
169        </module>
170        <module name="ParameterNumber">
171            <property name="id" value="paramNum"/>
172        </module>
173        <module name="ParenPad"/>
174        <module name="TypecastParenPad"/>
175        <module name="RedundantImport"/>
176        <module name="RedundantModifier"/>
177        <module name="RightCurly">
178            <property name="option" value="same"/>
179        </module>
180        <module name="SimplifyBooleanExpression"/>
181        <module name="SimplifyBooleanReturn"/>
182        <module name="StaticVariableName">
183            <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
184        </module>
185        <module name="TypeName"/>
186        <module name="UnusedImports"/>
187        <module name="UpperEll"/>
188        <module name="VisibilityModifier"/>
189        <module name="WhitespaceAfter"/>
190        <module name="WhitespaceAround"/>
191        <module name="GenericWhitespace"/>
192        <module name="FinalClass"/>
193        <module name="MissingSwitchDefault"/>
194        <!--module name="MagicNumber"/-->
195        <!--module name="Indentation">
196          <property name="basicOffset" value="4"/>
197          <property name="braceAdjustment" value="0"/>
198          <property name="caseIndent" value="0"/>
199        </module-->
200        <!--module name="ArrayTrailingComma"/-->
201        <module name="FinalLocalVariable"/>
202        <module name="EqualsAvoidNull"/>
203        <module name="ParameterAssignment"/>
204
205        <!-- Generates quite a few errors -->
206        <module name="CyclomaticComplexity">
207            <property name="severity" value="ignore"/>
208        </module>
209
210        <module name="NestedForDepth">
211            <property name="max" value="2"/>
212        </module>
213        <module name="NestedIfDepth">
214            <property name="max" value="4"/>
215        </module>
216        <module name="NestedTryDepth">
217            <property name="max" value="2"/>
218        </module>
219        <!--module name="ExplicitInitialization"/-->
220        <module name="AnnotationUseStyle"/>
221        <module name="MissingDeprecated"/>
222        <module name="MissingOverride">
223            <property name="javaFiveCompatibility" value="true"/>
224        </module>
225        <module name="PackageAnnotation"/>
226        <module name="SuppressWarnings"/>
227        <module name="OuterTypeFilename"/>
228        <module name="HideUtilityClassConstructor"/>
229    </module>
230</module>