1<?xml version="1.0" encoding="US-ASCII"?> 2<!DOCTYPE module PUBLIC 3 "-//Puppy Crawl//DTD Check Configuration 1.2//EN" 4 "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> 5<module name="Checker"> 6 7 <!--<module name="SuppressionFilter">--> 8 <!--<property name="file" value="${basedir}/suppressions.xml"/>--> 9 <!--</module>--> 10 11 <!-- <module name="NewlineAtEndOfFile"/> doesn't work... --> 12 <module name="Translation"/> 13 <module name="FileLength"/> 14 <module name="FileTabCharacter"/> 15 16 <module name="RegexpSingleline"> 17 <property name="format" value="\s+$"/> 18 <property name="minimum" value="0"/> 19 <property name="maximum" value="0"/> 20 <property name="message" value="Line has trailing spaces."/> 21 </module> 22 23 <module name="RegexpHeader"> 24 <property name="headerFile" value="${checkstyle.header.file}"/> 25 <property name="fileExtensions" value="java"/> 26 <property name="id" value="header"/> 27 </module> 28 <!-- Checks for Size Violations. --> 29 <!-- See http://checkstyle.sf.net/config_sizes.html --> 30 <module name="LineLength"> 31 <property name="max" value="130"/> 32 </module> 33 <module name="TreeWalker"> 34 <module name="SuppressionCommentFilter"> 35 <property name="offCommentFormat" value="CSOFF\: ([\w\|]+)"/> 36 <property name="onCommentFormat" value="CSON\: ([\w\|]+)"/> 37 <property name="checkFormat" value="$1"/> 38 </module> 39 <module name="JavadocMethod"/> 40 <module name="JavadocType"/> 41 <module name="JavadocVariable"/> 42 <module name="JavadocStyle"/> 43 44 <!-- Checks for Naming Conventions. --> 45 <!-- See http://checkstyle.sf.net/config_naming.html --> 46 <module name="ConstantName"> 47 <property name="format" value="^(?:[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*)|(?:_log)$"/> 48 </module> 49 <module name="LocalFinalVariableName"/> 50 <module name="LocalVariableName"/> 51 <module name="MemberName"> 52 <property name="applyToPrivate" value="false"/> 53 <property name="applyToProtected" value="false"/> 54 <property name="applyToPackage" value="false"/> 55 </module> 56 <module name="MemberName"> 57 <property name="applyToPublic" value="false"/> 58 <property name="format" value="^_[a-zA-Z][a-zA-Z0-9]*$"/> 59 </module> 60 <module name="MethodName"/> 61 <module name="PackageName"/> 62 <module name="ParameterName"/> 63 <module name="StaticVariableName"> 64 <property name="applyToPrivate" value="false"/> 65 <property name="applyToProtected" value="false"/> 66 <property name="applyToPackage" value="false"/> 67 </module> 68 <module name="StaticVariableName"> 69 <property name="applyToPublic" value="false"/> 70 <property name="format" value="^_[a-zA-Z][a-zA-Z0-9]*$"/> 71 </module> 72 <module name="TypeName"/> 73 74 75 <!-- Checks for imports --> 76 <!-- See http://checkstyle.sf.net/config_import.html --> 77 <module name="AvoidStarImport"/> 78 <module name="IllegalImport"/> <!-- defaults to sun.* packages --> 79 <module name="RedundantImport"/> 80 <module name="UnusedImports"/> 81 <module name="ImportOrder"> 82 <property name="groups" value="java,javax"/> 83 <property name="option" value="bottom"/> 84 </module> 85 86 <module name="MethodLength"/> 87 <module name="ParameterNumber"/> 88 89 90 <!-- Checks for whitespace --> 91 <!-- See http://checkstyle.sf.net/config_whitespace.html --> 92 <module name="EmptyForIteratorPad"/> 93 <module name="GenericWhitespace"/> 94 <module name="MethodParamPad"/> 95 <!-- <module name="NoWhitespaceAfter"/> --> 96 <!-- <module name="NoWhitespaceBefore"/> --> 97 <module name="OperatorWrap"> 98 <property name="option" value="nl"/> 99 </module> 100 <module name="ParenPad"/> 101 <module name="TypecastParenPad"/> 102 <!-- <module name="WhitespaceAfter"/> --> 103 <!-- <module name="WhitespaceAround"/> --> 104 105 <!-- Modifier Checks --> 106 <!-- See http://checkstyle.sf.net/config_modifiers.html --> 107 <module name="ModifierOrder"/> 108 <module name="RedundantModifier"/> 109 110 111 <!-- Checks for blocks. You know, those {}'s --> 112 <!-- See http://checkstyle.sf.net/config_blocks.html --> 113 <module name="AvoidNestedBlocks"/> 114 <module name="EmptyBlock"> 115 <property name="option" value="text"/> 116 </module> 117 <module name="LeftCurly"> 118 <property name="option" value="nlow"/> 119 </module> 120 <module name="NeedBraces"/> 121 <module name="RightCurly"/> 122 123 124 <!-- Checks for common coding problems --> 125 <!-- See http://checkstyle.sf.net/config_coding.html --> 126 <!-- <module name="AvoidInlineConditionals"/> --> 127 <module name="CovariantEquals"/> 128 <module name="EmptyStatement"/> 129 <module name="EqualsAvoidNull"/> 130 <module name="EqualsHashCode"/> 131 <module name="HiddenField"/> 132 <module name="IllegalInstantiation"> 133 <property name="classes" value="java.lang.Boolean"/> 134 </module> 135 <module name="InnerAssignment"/> 136 <!-- <module name="MagicNumber"/> --> 137 <module name="MissingSwitchDefault"/> 138 <!--module name="RedundantThrows"> 139 <property name="allowUnchecked" value="true"/> 140 </module--> 141 <module name="SimplifyBooleanExpression"/> 142 <module name="SimplifyBooleanReturn"/> 143 <module name="NoFinalizer"/> 144 <module name="SuperClone"/> 145 <module name="IllegalCatch"/> 146 <module name="IllegalThrows"/> 147 <module name="PackageDeclaration"/> 148 <module name="IllegalType"> 149 <property name="illegalClassNames" 150 value="java.util.GregorianCalendar, 151 java.util.Hashtable, 152 java.util.HashSet, 153 java.util.HashMap, 154 java.util.ArrayList, 155 java.util.LinkedHashMap, 156 java.util.LinkedHashSet, 157 java.util.TreeSet, 158 java.util.TreeMap, 159 java.util.Vector"/> 160 161 <!-- java.util.LinkedList is allowed, since the Deque interface 162 exposing useful methods like "removeLast" isn't available 163 until 1.6 --> 164 </module> 165 <module name="ExplicitInitialization"/> 166 <module name="FallThrough"/> 167 168 <!-- Checks for class design --> 169 <!-- See http://checkstyle.sf.net/config_design.html --> 170 <!-- <module name="DesignForExtension"/> --> 171 <module name="FinalClass"/> 172 <module name="HideUtilityClassConstructor"/> 173 <module name="InterfaceIsType"/> 174 <!-- <module name="VisibilityModifier"/> --> 175 176 <!-- Miscellaneous other checks. --> 177 <!-- See http://checkstyle.sf.net/config_misc.html --> 178 <module name="ArrayTypeStyle"/> 179 <!-- module name="FinalParameters"/ --> 180 <module name="Regexp"> 181 <!-- Do not allow System.out calls, use loggers instead --> 182 <property name="format" value="System\s*\.\s*(out|err)"/> 183 <property name="illegalPattern" value="true"/> 184 <property name="ignoreComments" value="true"/> 185 <property name="message" value="System.out or System.err (use Logger instead)"/> 186 </module> 187 <module name="Regexp"> 188 <!-- Do not allow printStackTrace, use loggers or rethrow --> 189 <property name="format" value="\.\s*printStackTrace\s*\(\s*\)"/> 190 <property name="illegalPattern" value="true"/> 191 <property name="ignoreComments" value="true"/> 192 <property name="message" value="printStackTrace() (use Logger or rethrow)"/> 193 </module> 194 195 <!-- TODO: add this back: <module name="TodoComment"/> --> 196 <module name="UpperEll"/> 197 <module name="Indentation"> 198 <property name="caseIndent" value="4"/> 199 </module> 200 201 </module> 202 203</module> 204 205