<?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="TreeWalker">
    <!--<property name="severity" value="warning" />-->
    <module name="RegexpHeader">
      <property name="headerFile" value="header.regex"/>
    </module>
    <module name="TabCharacter"/>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="info" />
      <property name="format" value="System\.out\.println\(" />
      <property name="message" value="Avoid System.out.println(), use log.debug()" />
    </module>
    <module name="EqualsHashCode"></module>

    <!--
    <module name="ArrayTypeStyle"></module>
    <module name="FinalParameters">
      <property name="severity" value="ignore" />
      <property name="tokens" value="METHOD_DEF, CTOR_DEF" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="error" />
      <property name="format" value="equals\(\&quot;\&quot;\)" />
      <property name="message" value="Avoid equals(''), use StringUtils.isEmpty" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="warning" />
      <property name="format" value="\.indexOf\(\&quot;" />
      <property name="message"
        value="Always use safer methods StringUtils.substringBefore()/After() or StringUtils.contains when possible" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="warning" />
      <property name="format" value="\.lastIndexOf\(\&quot;" />
      <property name="message"
        value="Always use safer methods StringUtils.substringBefore()/After() or StringUtils.contains when possible" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="warning" />
      <property name="format" value="\.substring\(" />
      <property name="message"
        value="Always use safer methods StringUtils.substringBefore()/After() or StringUtils.contains when possible" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="info" />
      <property name="format" value="\.printStackTrace\(\)" />
      <property name="message" value="Avoid exception.printStackTrace()" />
    </module>
    <module name="GenericIllegalRegexp">
      <property name="severity" value="error" />
      <property name="format" value="TODO To change the template for this" />
      <property name="message" value="Please configure you IDE!" />
    </module>
    <module name="TodoComment">
      <property name="severity" value="ignore" />
      <property name="format" value="@todo" />
    </module>
    <module name="UncommentedMain"></module>
    <module name="UpperEll"></module>
    <module name="AvoidNestedBlocks"></module>
    <module name="EmptyBlock">
      <property name="option" value="text" />
      <property name="tokens"
        value="LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, STATIC_INIT" />
    </module>
    <module name="LeftCurly">
      <property name="maxLineLength" value="140" />
      <property name="tokens"
        value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF" />
    </module>
    <module name="NeedBraces">
      <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE" />
    </module>
    <module name="RightCurly">
      <property name="option" value="alone" />
      <property name="tokens" value="LITERAL_CATCH, LITERAL_ELSE, LITERAL_TRY" />
    </module>
    <module name="ArrayTrailingComma">
      <property name="severity" value="ignore" />
    </module>
    <module name="AvoidInlineConditionals">
      <property name="severity" value="ignore" />
    </module>
    <module name="CovariantEquals"></module>
    <module name="DeclarationOrder">
      <property name="severity" value="info" />
    </module>
    <module name="DoubleCheckedLocking"></module>
    <module name="EmptyStatement"></module>
    <module name="ExplicitInitialization"></module>
    <module name="FinalLocalVariable">
      <property name="severity" value="ignore" />
    </module>
    <module name="HiddenField">
      <property name="severity" value="ignore" />
      <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF" />
    </module>
    <module name="IllegalCatch">
      <property name="severity" value="ignore" />
    </module>
    <module name="IllegalInstantiation"></module>
    <module name="IllegalToken">
      <property name="severity" value="ignore" />
    </module>
    <module name="IllegalTokenText">
      <property name="severity" value="ignore" />
    </module>
    <module name="IllegalType">
      <property name="tokens" value="METHOD_DEF, PARAMETER_DEF, VARIABLE_DEF" />
    </module>
    <module name="InnerAssignment">
      <property name="severity" value="info" />
      <property name="tokens"
        value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN, SL_ASSIGN, SR_ASSIGN, STAR_ASSIGN" />
    </module>
    <module name="JUnitTestCase"></module>
    <module name="MagicNumber">
      <property name="severity" value="ignore" />
      <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG" />
    </module>
    <module name="MissingSwitchDefault"></module>
    <module name="NestedIfDepth">
      <property name="severity" value="info" />
      <property name="max" value="3" />
    </module>
    <module name="NestedTryDepth">
      <property name="severity" value="info" />
      <property name="max" value="2" />
    </module>
    <module name="PackageDeclaration"></module>
    <module name="ParameterAssignment"></module>
    <module name="RedundantThrows">
      <property name="severity" value="ignore" />
    </module>
    <module name="ReturnCount">
      <property name="severity" value="info" />
      <property name="max" value="3" />
    </module>
    <module name="SimplifyBooleanExpression"></module>
    <module name="SimplifyBooleanReturn"></module>
    <module name="StringLiteralEquality"></module>
    <module name="SuperClone">
      <property name="severity" value="info" />
    </module>
    <module name="SuperFinalize"></module>
    <module name="DesignForExtension">
      <property name="severity" value="ignore" />
    </module>
    <module name="FinalClass"></module>
    <module name="HideUtilityClassConstructor"></module>
    <module name="InterfaceIsType"></module>
    <module name="MutableException">
      <property name="severity" value="ignore" />
    </module>
    <module name="ThrowsCount">
      <property name="max" value="7" />
    </module>
    <module name="VisibilityModifier">
      <property name="packageAllowed" value="true" />
      <property name="protectedAllowed" value="true" />
    </module>
    <module name="AvoidStarImport"></module>
    <module name="IllegalImport"></module>
    <module name="ImportOrder">
      <property name="severity" value="ignore" />
    </module>
    <module name="RedundantImport"></module>
    <module name="UnusedImports"></module>
    <module name="Indentation">
      <property name="severity" value="ignore" />
    </module>
    <module name="JavadocMethod">
      <property name="severity" value="info" />
      <property name="tokens" value="METHOD_DEF, CTOR_DEF" />
    </module>
    <module name="JavadocStyle">
      <property name="severity" value="info" />
      <property name="checkFirstSentence" value="false" />
      <property name="tokens" value="INTERFACE_DEF, CLASS_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF" />
    </module>
    <module name="JavadocType">
      <property name="severity" value="info" />
      <property name="tokens" value="CLASS_DEF, INTERFACE_DEF" />
    </module>
    <module name="JavadocVariable">
      <property name="severity" value="info" />
    </module>
    <module name="CyclomaticComplexity">
      <property name="severity" value="info" />
      <property name="max" value="26" />
    </module>
    <module name="AbstractClassName">
      <property name="severity" value="ignore" />
    </module>
    <module name="ConstantName">
      <property name="format" value="(^[A-Z](_?[A-Z0-9]+)*$)|(^log$)" />
    </module>
    <module name="LocalFinalVariableName">
      <property name="format" value="^[A-Z0-9_]*$" />
    </module>
    <module name="LocalVariableName">
      <property name="severity" value="info" />
    </module>
    <module name="MemberName">
      <property name="severity" value="info" />
    </module>
    <module name="MethodName"></module>
    <module name="PackageName">
      <property name="format" value="^[a-z]+(\.[a-z0-9]*)*$" />
    </module>
    <module name="ParameterName">
      <property name="severity" value="info" />
    </module>
    <module name="StaticVariableName"></module>
    <module name="TypeName"></module>
    <module name="AnonInnerLength"></module>
    <module name="ExecutableStatementCount">
      <property name="severity" value="info" />
      <property name="max" value="50" />
      <property name="tokens" value="INSTANCE_INIT, STATIC_INIT, METHOD_DEF, CTOR_DEF" />
    </module>
    <module name="FileLength"></module>
    <module name="LineLength">
      <property name="severity" value="info" />
      <property name="max" value="140" />
    </module>
    <module name="MethodLength">
      <property name="max" value="300" />
      <property name="tokens" value="METHOD_DEF, CTOR_DEF" />
    </module>
    <module name="ParameterNumber"></module>
    <! - -<module name="OneMethodPrivateField">- ->
      < ! - -<property name="severity" value="ignore" /> - - >
      < ! - -<property name="ignoreFormat" value="^log$" />- - >
    <! - -</module>- - >
    <module name="EmptyForIteratorPad"></module>
    <module name="NoWhitespaceAfter">
      <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS" />
    </module>
    <module name="NoWhitespaceBefore"></module>
    <module name="OperatorWrap"></module>
    <module name="ParenPad"></module>
    <module name="TabCharacter"></module>
    <module name="TypecastParenPad">
      <property name="tokens" value="RPAREN, TYPECAST" />
    </module>
    <module name="WhitespaceAfter"></module>
    <module name="WhitespaceAround"></module>
    <module name="ModifierOrder"></module>
    <module name="RedundantModifier"></module>
    <module name="GenericIllegalRegexp">
      <metadata name="com.atlassw.tools.eclipse.checkstyle.comment"
        value="avoid using &quot;&quot;, use StringUtils.EMPTY" />
      <property name="format" value="(\(&quot;&quot;\))|(\ &quot;&quot;;)" />
      <property name="message" value="avoid using &quot;&quot;, use StringUtils.EMPTY" />
    </module>
  -->
  </module>
</module>

