<?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: Beem Checks
    Description: none
-->
<module name="Checker">
  <property name="severity" value="warning"/>
  <property name="basedir" value="/home/beem/"/>
  <module name="TreeWalker">
    <module name="JavadocMethod">
      <property name="severity" value="error"/>
      <property name="allowUndeclaredRTE" value="true"/>
    </module>
    <module name="JavadocType">
      <property name="severity" value="error"/>
    </module>
    <module name="JavadocVariable">
      <property name="severity" value="error"/>
      <property name="scope" value="package"/>
    </module>
    <module name="JavadocStyle">
      <property name="severity" value="error"/>
      <property name="checkEmptyJavadoc" value="true"/>
    </module>
    <module name="ConstantName"/>
    <module name="LocalFinalVariableName"/>
    <module name="LocalVariableName"/>
    <module name="MemberName">
      <property name="severity" value="error"/>
      <property name="format" value="^m[A-Z][a-zA-Z0-9]*$"/>
    </module>
    <module name="MethodName"/>
    <module name="PackageName"/>
    <module name="ParameterName"/>
    <module name="StaticVariableName"/>
    <module name="TypeName"/>
    <module name="AvoidStarImport"/>
    <module name="IllegalImport"/>
    <module name="RedundantImport"/>
    <module name="UnusedImports">
      <property name="severity" value="error"/>
    </module>
    <module name="AvoidStaticImport">
      <property name="excludes" value="*"/>
    </module>
    <module name="LineLength">
      <property name="max" value="120"/>
    </module>
    <module name="MethodLength"/>
    <module name="ParameterNumber"/>
    <module name="AnonInnerLength">
      <property name="max" value="60"/>
    </module>
    <module name="EmptyForIteratorPad"/>
    <module name="GenericWhitespace">
      <property name="severity" value="error"/>
    </module>
    <module name="MethodParamPad">
      <property name="severity" value="error"/>
    </module>
    <module name="NoWhitespaceAfter">
      <property name="severity" value="error"/>
    </module>
    <module name="NoWhitespaceBefore">
      <property name="severity" value="error"/>
    </module>
    <module name="OperatorWrap"/>
    <module name="ParenPad">
      <property name="severity" value="error"/>
    </module>
    <module name="TypecastParenPad">
      <property name="severity" value="error"/>
    </module>
    <module name="WhitespaceAfter">
      <property name="severity" value="error"/>
    </module>
    <module name="WhitespaceAround">
      <property name="severity" value="error"/>
    </module>
    <module name="ModifierOrder">
      <property name="severity" value="error"/>
    </module>
    <module name="RedundantModifier">
      <property name="severity" value="error"/>
    </module>
    <module name="AvoidNestedBlocks"/>
    <module name="EmptyBlock"/>
    <module name="LeftCurly">
      <property name="severity" value="error"/>
    </module>
    <module name="RightCurly">
      <property name="severity" value="error"/>
    </module>
    <module name="AnnotationUseStyle">
      <property name="severity" value="error"/>
    </module>
    <module name="MissingDeprecated">
      <property name="severity" value="error"/>
    </module>
    <module name="MissingOverride">
      <property name="severity" value="error"/>
    </module>
    <module name="CovariantEquals"/>
    <module name="AvoidInlineConditionals"/>
    <module name="InnerAssignment"/>
    <module name="DoubleCheckedLocking"/>
    <module name="EmptyStatement"/>
    <module name="EqualsHashCode">
      <property name="severity" value="error"/>
    </module>
    <module name="HiddenField">
      <property name="ignoreConstructorParameter" value="true"/>
      <property name="ignoreSetter" value="true"/>
      <property name="ignoreAbstractMethods" value="true"/>
    </module>
    <module name="IllegalInstantiation"/>
    <module name="InnerAssignment">
      <property name="severity" value="error"/>
    </module>
    <module name="MagicNumber"/>
    <module name="MissingSwitchDefault">
      <property name="severity" value="error"/>
    </module>
    <module name="RedundantThrows"/>
    <module name="SimplifyBooleanExpression">
      <property name="severity" value="error"/>
    </module>
    <module name="SimplifyBooleanReturn">
      <property name="severity" value="error"/>
    </module>
    <module name="StringLiteralEquality">
      <property name="severity" value="error"/>
    </module>
    <module name="IllegalCatch"/>
    <module name="IllegalThrows"/>
    <module name="IllegalType"/>
    <module name="PackageDeclaration"/>
    <module name="JUnitTestCase"/>
    <module name="DeclarationOrder">
      <property name="severity" value="error"/>
    </module>
    <module name="ExplicitInitialization"/>
    <module name="DefaultComesLast"/>
    <module name="MissingCtor"/>
    <module name="FallThrough"/>
    <module name="MultipleStringLiterals">
      <property name="allowedDuplicates" value="2"/>
    </module>
    <module name="MultipleVariableDeclarations"/>
    <module name="UnnecessaryParentheses"/>
    <module name="ParameterAssignment"/>
    <module name="EqualsAvoidNull">
      <property name="severity" value="error"/>
    </module>
    <module name="NoClone"/>
    <module name="NoFinalizer"/>
    <module name="SuperClone"/>
    <module name="SuperFinalize"/>
    <module name="ModifiedControlVariable">
      <property name="severity" value="error"/>
    </module>
    <module name="ReturnCount">
      <property name="max" value="3"/>
    </module>
    <module name="FinalClass"/>
    <module name="HideUtilityClassConstructor"/>
    <module name="VisibilityModifier"/>
    <module name="MutableException"/>
    <module name="ThrowsCount">
      <property name="max" value="2"/>
    </module>
    <module name="ArrayTypeStyle"/>
    <module name="FinalParameters">
      <property name="tokens" value="CTOR_DEF"/>
    </module>
    <module name="Indentation"/>
    <module name="TodoComment"/>
    <module name="UpperEll"/>
    <module name="BooleanExpressionComplexity"/>
    <module name="UpperEll"/>
    <module name="ArrayTypeStyle"/>
  </module>
  <module name="JavadocPackage">
    <property name="allowLegacy" value="true"/>
  </module>
  <module name="NewlineAtEndOfFile">
    <property name="severity" value="error"/>
  </module>
  <module name="Translation">
    <property name="severity" value="error"/>
  </module>
  <module name="FileLength"/>
  <module name="RegexpSingleline">
    <property name="severity" value="error"/>
    <property name="format" value="\s+$"/>
    <property name="message" value="Line has trailing spaces."/>
  </module>
  <module name="RegexpHeader">
    <property name="severity" value="error"/>
    <property name="headerFile" value="${basedir}/tools/JavaHeaderCheck.regex"/>
    <property name="multiLines" value="5, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38"/>
  </module>
</module>
