<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<!--
    This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
    Checkstyle-Configuration: monitoring
    Description: none
-->
<module name="Checker">
  <property name="severity" value="warning"/>
  <module name="TreeWalker">
    <property name="tabWidth" value="4"/>
    <module name="FileContentsHolder"/>
    <module name="AvoidStarImport"/>
    <module name="IllegalImport">
      <property name="severity" value="error"/>
    </module>
    <module name="RedundantImport">
      <property name="severity" value="error"/>
    </module>
    <module name="UnusedImports">
      <property name="severity" value="error"/>
    </module>
    <module name="ConstantName"/>
    <module name="LocalFinalVariableName"/>
    <module name="LocalVariableName"/>
    <module name="MemberName"/>
    <module name="MethodName"/>
    <module name="ParameterName"/>
    <module name="StaticVariableName"/>
    <module name="TypeName"/>
    <module name="PackageName">
      <property name="format" value="^[a-z0-9]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/>
    </module>
    <module name="ImportOrder">
      <property name="severity" value="ignore"/>
      <property name="separated" value="true"/>
    </module>
<!--     <module name="JavadocMethod">
      <property name="scope" value="public"/>
    </module> -->
    <module name="JavadocStyle">
      <property name="scope" value="public"/>
      <property name="checkHtml" value="false"/>
    </module>
    <module name="JavadocType">
      <property name="scope" value="public"/>
    </module>
    <module name="AnonInnerLength"/>
    <module name="MethodLength"/>
    <module name="ParameterNumber"/>
    <module name="EmptyForInitializerPad"/>
    <module name="EmptyForIteratorPad"/>
    <module name="NoWhitespaceAfter">
      <property name="severity" value="ignore"/>
    </module>
    <module name="NoWhitespaceBefore"/>
    <module name="OperatorWrap"/>
    <module name="MethodParamPad"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad">
      <property name="tokens" value="RPAREN,TYPECAST"/>
    </module>
    <module name="WhitespaceAfter"/>
    <module name="WhitespaceAround"/>
    <module name="ModifierOrder"/>
    <module name="RedundantModifier"/>
    <module name="AvoidNestedBlocks"/>
    <module name="EmptyBlock"/>
    <module name="LeftCurly"/>
    <module name="NeedBraces"/>
    <module name="RightCurly"/>
    <module name="CovariantEquals"/>
    <module name="DefaultComesLast"/>
    <module name="DeclarationOrder"/>
    <module name="EmptyStatement"/>
    <module name="EqualsHashCode"/>
    <module name="FallThrough"/>
    <module name="IllegalInstantiation"/>
    <module name="IllegalThrows">
      <property name="severity" value="error"/>
    </module>
    <module name="IllegalTokenText"/>
    <module name="IllegalType">
      <property name="tokens" value="METHOD_DEF,PARAMETER_DEF,VARIABLE_DEF"/>
    </module>
    <module name="InnerAssignment">
      <property name="severity" value="error"/>
    </module>
    <module name="MissingSwitchDefault"/>
    <module name="ModifiedControlVariable">
      <property name="severity" value="error"/>
    </module>
    <module name="MultipleVariableDeclarations">
      <property name="severity" value="error"/>
    </module>
    <module name="NestedIfDepth">
      <property name="max" value="5"/>
    </module>
    <module name="NestedTryDepth">
      <property name="max" value="2"/>
    </module>
    <module name="PackageDeclaration">
      <property name="severity" value="error"/>
    </module>
    <module name="ParameterAssignment">
      <property name="severity" value="error"/>
    </module>
    <module name="SimplifyBooleanExpression"/>
    <module name="SimplifyBooleanReturn"/>
    <module name="StringLiteralEquality">
      <property name="severity" value="error"/>
    </module>
    <module name="SuperClone"/>
    <module name="SuperFinalize"/>
    <module name="UnnecessaryParentheses"/>
    <module name="BooleanExpressionComplexity">
      <property name="max" value="7"/>
    </module>
    <module name="ClassDataAbstractionCoupling">
      <property name="max" value="15"/>
    </module>
    <module name="ClassFanOutComplexity">
      <property name="max" value="30"/>
    </module>
    <module name="CyclomaticComplexity"/>
    <module name="JavaNCSS"/>
    <module name="FinalClass"/>
    <module name="HideUtilityClassConstructor"/>
    <module name="InterfaceIsType"/>
    <module name="MutableException"/>
    <module name="ThrowsCount">
      <property name="max" value="2"/>
    </module>
    <module name="VisibilityModifier">
      <property name="packageAllowed" value="true"/>
    </module>
    <module name="ArrayTypeStyle"/>
    <module name="Indentation">
      <property name="severity" value="ignore"/>
    </module>
    <module name="UpperEll"/>
    <module name="ArrayTrailingComma"/>
    <module name="FinalLocalVariable"/>
    <module name="HiddenField">
      <property name="ignoreConstructorParameter" value="true"/>
      <property name="ignoreSetter" value="true"/>
      <property name="ignoreAbstractMethods" value="true"/>
    </module>
    <module name="NPathComplexity"/>
    <module name="ExplicitInitialization"/>
    <module name="AnnotationUseStyle"/>
    <module name="MissingDeprecated"/>
    <module name="MissingOverride">
      <property name="javaFiveCompatibility" value="true"/>
    </module>
    <module name="ClassTypeParameterName"/>
    <module name="MethodTypeParameterName"/>
    <module name="OuterTypeNumber"/>
    <module name="GenericWhitespace">
      <property name="severity" value="ignore"/>
    </module>
    <module name="EqualsAvoidNull"/>
    <module name="ExecutableStatementCount">
      <property name="max" value="50"/>
      <property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
    </module>
    <module name="LineLength">
      <property name="severity" value="ignore"/>
      <property name="max" value="120"/>
      <property name="tabWidth" value="4"/>
    </module>
  </module>
  <module name="NewlineAtEndOfFile"/>
  <module name="Translation"/>
  <module name="SeverityMatchFilter"/>
  <module name="SuppressionFilter"/>
  <module name="SuppressionCommentFilter"/>
  <module name="FileLength"/>
</module>
