<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd"> <!--Refer http://checkstyle.sourceforge.net/reports/google-java-style.html#s2.2-file-encoding --> <module name="Checker"> <property name="localeLanguage" value="en"/> <!--To configure the check to report on the first instance in each file--> <module name="FileTabCharacter"/> <module name="RegexpSingleline"> <property name="format" value="^.*System\.(out|err).*$"/> <property name="message" value="Don't use System.out/err, use SLF4J instead."/> </module> <module name="FileLength"> <property name="max" value="3000"/> </module> <module name="TreeWalker"> <property name="tabWidth" value="4"/> <module name="CommentsIndentation"/> <module name="SuppressionCommentFilter"> <property name="offCommentFormat" value="CS:OFF:BEGIN"/> <property name="onCommentFormat" value="CS:OFF:END"/> <property name="checkFormat" value=".*"/> </module> <module name="UnusedImports"> <property name="processJavadoc" value="true"/> </module> <module name="RedundantImport"/> <!--Checks that classes that override equals() also override hashCode()--> <module name="EqualsHashCode"/> <!--Checks for over-complicated boolean expressions. Currently finds code like if (topic == true), topic || true, !false, etc.--> <module name="SimplifyBooleanExpression"/> <module name="OneStatementPerLine"/> <module name="UnnecessaryParentheses"/> <!--Checks for over-complicated boolean return statements. For example the following code--> <module name="SimplifyBooleanReturn"/> <!--Check that the default is after all the cases in producerGroup switch statement--> <module name="DefaultComesLast"/> <!--Detects empty statements (standalone ";" semicolon)--> <module name="EmptyStatement"/> <!--Checks that long constants are defined with an upper ell--> <module name="UpperEll"/> <module name="ConstantName"> <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)|(^logger)"/> </module> <!--Checks that local, non-final variable names conform to producerGroup format specified by the format property--> <module name="LocalVariableName"/> <!--Validates identifiers for local, final variables, including catch parameters--> <module name="LocalFinalVariableName"/> <!--Validates identifiers for non-static fields--> <module name="MemberName"/> <!--Validates identifiers for class type parameters--> <module name="ClassTypeParameterName"> <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> </module> <!--Validates identifiers for method type parameters--> <module name="MethodTypeParameterName"> <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> </module> <module name="PackageName"> <property name="format" value="^run\.halo(\.[a-zA-Z][a-zA-Z0-9]*)+$"/> </module> <module name="ParameterName"/> <module name="StaticVariableName"> <property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> </module> <module name="TypeName"> <property name="format" value="(^[A-Z][a-zA-Z0-9]*$)|(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)"/> </module> <!--whitespace--> <module name="GenericWhitespace"/> <module name="NoWhitespaceBefore"/> <module name="NoWhitespaceAfter"/> <module name="WhitespaceAround"> <property name="allowEmptyConstructors" value="true"/> <property name="allowEmptyMethods" value="true"/> </module> <!-- Indentation --> <module name="Indentation"> <property name="forceStrictCondition" value="true"/> <property name="throwsIndent" value="8"/> <property name="lineWrappingIndentation" value="8"/> </module> <module name="MethodParamPad"/> <module name="ParenPad"/> <module name="TypecastParenPad"/> </module> </module>