<?xml version="1.0"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> <module name="Checker"> <module name="FileTabCharacter"/> <module name="LineLength"> <property name="max" value="160"/> <property name="ignorePattern" value="@version|@see|\w*_CLASS"/> </module> <module name="TreeWalker"> <!-- allow usage of CHECKSTYLE:OFF and CHECKSTYLE:ON --> <module name="SuppressionCommentFilter"/> <!-- Checks for Javadoc comments. --> <!-- See http://checkstyle.sf.net/config_javadoc.html --> <!-- module name="JavadocMethod"/ --> <!-- module name="JavadocType"/ --> <!-- module name="JavadocVariable"/ --> <!-- Checks for Naming Conventions. --> <!-- See http://checkstyle.sf.net/config_naming.html --> <module name="MemberName"> <property name="format" value="^[a-z_](_?[a-zA-Z0-9]+)*$"/> </module> <module name="ConstantName"> <!-- Normal rules, except that: - * any name can start with an underscore. - * "log" is allowed; this is a traditional name for log objects - * names ending with "ThreadLocal" are allowed so that threadlocal vars don't have to be - all-caps. They are static final, but are not really constants. Yes, type prefixes - on variable names sucks ("hungarian notation") but checkstyle doesn't allow - name rules to vary by the type of the constant, and no other alternative seems - any better. --> <property name="format" value="^(([a-z][a-zA-Z]*ThreadLocal)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$"/> </module> <module name="LocalVariableName"> <property name="format" value="^[a-z_](_?[a-zA-Z0-9]+)*$"/> </module> <module name="MethodName"/> <module name="PackageName"/> <module name="LocalFinalVariableName"/> <module name="ParameterName"> <property name="format" value="^[a-z_](_?[a-zA-Z0-9]+)*$"/> </module> <module name="StaticVariableName"/> <module name="TypeName"> <property name="format" value="^[A-Z][a-zA-Z0-9_]*$" /> </module> <module name="IllegalImport"/> <module name="RedundantImport"/> <module name="UnusedImports"> <property name="processJavadoc" value="true"/> </module> <module name="ModifierOrderCheck" /> <module name="HideUtilityClassConstructor"/> <module name="MethodLength"> <property name="max" value="300" /> </module> <module name="ParameterNumber"> <property name="max" value="10" /> </module> <module name="NeedBraces"> <property name="allowSingleLineStatement" value="true" /> </module> <module name="LeftCurly"> </module> <module name="RightCurly"> <property name="option" value="alone"/> </module> <module name="WhitespaceAfter" /> <module name="NoWhitespaceAfter" /> <!-- Checks for common coding problems --> <!-- See http://checkstyle.sf.net/config_coding.html --> <module name="EmptyStatement"/> <module name="EqualsHashCode"/> <module name="InnerAssignment"/> <module name="DefaultComesLast"/> <module name="FallThrough"/> <!-- Checks for class design --> <!-- See http://checkstyle.sf.net/config_design.html --> <!-- module name="DesignForExtension"/ --> <module name="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck"> <property name="severity" value="ignore"/> </module> <!-- module name="FinalClass"/ --> <!-- module name="HideUtilityClassConstructor"/ --> <!-- module name="InterfaceIsType"/ --> <!-- module name="VisibilityModifier"/ --> <module name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck"> <property name="packageAllowed" value="false"/> <property name="protectedAllowed" value="true"/> <property name="publicMemberPattern" value="^serialVersionUID"/> <property name="severity" value="warning"/> </module> <module name="Regexp"> <property name="format" value="[ \t]+$"/> <property name="illegalPattern" value="true"/> <property name="message" value="Trailing whitespace"/> </module> <!-- Miscellaneous other checks. --> <!-- See http://checkstyle.sf.net/config_misc.html --> <!-- module name="FinalParameters"/ --> <!-- Line with Trailing Spaces (disabled as it's to noisy) <module name="GenericIllegalRegexp"> <property name="format" value="\s+$"/> <property name="message" value="Line has trailing spaces."/> </module> --> <module name="UpperEll"/> <module name="ArrayTypeStyle"/> <module name="WhitespaceAround"> <property name="tokens" value=""/> </module> <module name="StringLiteralEquality"/> <module name="NoFinalizer"/> <module name="MissingOverride"/> <module name="DeclarationOrder"/> <!--module name="MultipleStringLiterals"/--> <module name="OneStatementPerLine"/> <module name="Indentation"/> </module> </module>