<?xml version="1.0" encoding="UTF-8"?>
<!--
	This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: QedeqFormalChecks
Description:
Formal Checks for QEDEQ project
-->
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
    <property name="severity" value="warning"/>
    <property name="localeCountry" value="EN"/>
    <property name="localeLanguage" value="en"/>
    <module name="TreeWalker">
        <module name="JavadocMethod">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we allow undeclared RTE be documented, disabled because inherited doc is not seen"/>
            <property name="severity" value="ignore"/>
            <property name="allowUndeclaredRTE" value="true"/>
        </module>
        <module name="JavadocType"/>
        <module name="JavadocVariable"/>
        <module name="JavadocStyle"/>
        <module name="ConstantName"/>
        <module name="LocalFinalVariableName"/>
        <module name="LocalVariableName"/>
        <module name="MemberName"/>
        <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"/>
        <module name="FileLength"/>
        <module name="LineLength">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="120 is ok nowerdays"/>
            <property name="max" value="120"/>
        </module>
        <module name="MethodLength">
          <property name="max" value="270"/>
        </module>
        <module name="ParameterNumber">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="increased from 7 to 9 because a parser implementation needed it"/>
            <property name="max" value="9"/>
        </module>
        <module name="EmptyForIteratorPad">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we want to make an empty place a little bit bigger"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="MethodParamPad"/>
        <module name="NoWhitespaceAfter">
            <property name="tokens" value="ARRAY_INIT,BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
        </module>
        <module name="NoWhitespaceBefore"/>
        <module name="OperatorWrap"/>
        <module name="ParenPad"/>
        <module name="TypecastParenPad"/>
        <module name="TabCharacter"/>
        <module name="WhitespaceAfter">
            <property name="tokens" value="COMMA,SEMI"/>
        </module>
        <module name="WhitespaceAround"/>
        <module name="ModifierOrder"/>
        <module name="RedundantModifier">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we want to declare public methods in an interface, also public static final variables"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="AvoidNestedBlocks">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="by using nested blocks we realize information hiding"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="EmptyBlock">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we allow commented empty blocks, therefore we must disable this check"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>
        <module name="AvoidInlineConditionals">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we allow our developers to use it"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="DoubleCheckedLocking"/>
        <module name="EmptyStatement">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we allow empty statements, but ther must be a comment"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="EqualsHashCode"/>
        <module name="HiddenField">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we want method parameters that have the same name as the attributes"/>
            <property name="tokens" value="VARIABLE_DEF"/>
        </module>
        <module name="IllegalInstantiation"/>
        <module name="InnerAssignment"/>
        <module name="MagicNumber">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="that is a way too strict for formal checks"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="MissingSwitchDefault"/>
        <module name="RedundantThrows"/>
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>
        <module name="DesignForExtension">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="for toString and Hashcode we want to no warning, so the whole check is disabled"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="FinalClass"/>
        <module name="HideUtilityClassConstructor"/>
        <module name="InterfaceIsType">
            <metadata name="com.atlassw.tools.eclipse.checkstyle.comment" value="we do it like SwingConstants"/>
            <metadata name="com.atlassw.tools.eclipse.checkstyle.lastEnabledSeverity" value="ignore"/>
            <property name="severity" value="ignore"/>
        </module>
        <module name="VisibilityModifier"/>
        <module name="ArrayTypeStyle"/>
        <module name="FinalParameters"/>
        <module name="GenericIllegalRegexp">
            <property name="format" value="\s+$"/>
            <property name="message" value="Line has trailing spaces."/>
        </module>
        <module name="TodoComment"/>
        <module name="UpperEll"/>
        <module name="WhitespaceAfter"/>
    </module>
    <module name="PackageHtml"/>
    <module name="NewlineAtEndOfFile"/>
    <module name="Translation"/>
</module>
