<?xml version="1.0" encoding="UTF-8"?>
<!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="PackageHtml"/>
	<module name="SuppressionFilter">
		<property name="file" value="checkstyle-suppress.xml"/>
	</module>
	<module name="TreeWalker">
		<module name="JavadocType"/>
		<module name="JavadocMethod">
			<property name="allowUndeclaredRTE" value="true"/>
		</module>
		<module name="JavadocVariable"/>
		<module name="MemberName"/>
		<module name="AvoidStarImport"/>
		<module name="IllegalImport"/>
		<module name="RedundantImport"/>
		<module name="UnusedImports"/>
		<module name="ImportOrder">
			<property name="groups" value="java,javax,org,com"/>
		</module>
		<module name="ExecutableStatementCount">
			<property name="max" value="30"/>
		</module>
		<module name="FileLength">
			<property name="max" value="1000"/>
		</module>
		<module name="LineLength">
			<property name="max" value="96"/>
		</module>
		<module name="MethodLength">
			<property name="max" value="45"/>
		</module>
		<module name="AnonInnerLength">
			<property name="max" value="15"/>
		</module>
		<module name="ParameterNumber">
			<property name="max" value="6"/>
		</module>
		<module name="MethodParamPad"/>
		<module name="NoWhitespaceAfter"/>
		<module name="NoWhitespaceBefore"/>
		<module name="OperatorWrap"/>
		<module name="ParenPad"/>
		<module name="TypecastParenPad"/>
		<module name="TabCharacter"/>
		<module name="WhitespaceAfter"/>
		<module name="WhitespaceAround"/>
		<module name="ModifierOrder"/>
		<module name="RedundantModifier"/>
		<module name="EmptyBlock">
			<property name="option" value="text"/>
		</module>
		<module name="LeftCurly"/>
		<module name="NeedBraces"/>
		<module name="RightCurly"/>
		<module name="AvoidNestedBlocks"/>
		<module name="CovariantEquals"/>
		<module name="DoubleCheckedLocking"/>
		<module name="EmptyStatement"/>
		<module name="EqualsHashCode"/>
		<module name="HiddenField">
			<property name="ignoreConstructorParameter" value="true"/>
		</module>
		<module name="InnerAssignment"/>
		<module name="MagicNumber">
			<property name="ignoreNumbers" value="-1, 0, 1, 2, 10, 100, 0.1, 1.0, 10.0"/>
		</module>
		<module name="MissingSwitchDefault"/>
		<module name="ModifiedControlVariable"/>
		<module name="SimplifyBooleanExpression"/>
		<module name="SimplifyBooleanReturn"/>
		<module name="StringLiteralEquality"/>
		<module name="NestedIfDepth">
			<property name="max" value="2"/>
		</module>
		<module name="NestedTryDepth"/>
		<module name="SuperClone"/>
		<module name="SuperFinalize"/>
		<module name="PackageDeclaration"/>
		<module name="ReturnCount"/>
		<module name="DeclarationOrder"/>
		<module name="ParameterAssignment"/>
		<module name="ExplicitInitialization"/>
		<module name="DefaultComesLast"/>
		<module name="MissingCtor"/>
		<module name="FallThrough"/>
		<module name="MultipleVariableDeclarations"/>
		<module name="UnnecessaryParentheses"/>
		<module name="VisibilityModifier">
			<property name="protectedAllowed" value="true"/>
		</module>
		<module name="FinalClass"/>
		<module name="InterfaceIsType"/>
		<module name="HideUtilityClassConstructor"/>
		<module name="DesignForExtension"/>
		<module name="MutableException">
			<property name="format" value="^.*Exception$|^.*Error$"/>
		</module>
		<module name="ThrowsCount">
			<property name="max" value="2"/>
		</module>
		<module name="BooleanExpressionComplexity"/>
		<module name="ClassDataAbstractionCoupling"/>
		<module name="ClassFanOutComplexity"/>
		<module name="NPathComplexity"/>
		<module name="JavaNCSS"/>
		<module name="TodoComment"/>
		<module name="UncommentedMain"/>
		<module name="UpperEll"/>
		<module name="ArrayTypeStyle"/>
		<module name="Indentation">
			<property name="caseIndent" value="0"/>
		</module>
		<module name="TrailingComment"/>
		<module name="GenericIllegalRegexp">
			<!-- detect white spaces at the end of line -->
			<property name="format" value="\s$"/>
		</module>
	</module>
	<module name="NewlineAtEndOfFile"/>
</module>
