<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements. See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership. The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied. See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">

<!--
Checks to make sure the code meets the ActiveMQ coding guidelines which

It also enforces a bunch of other "BestPractices like method
lengths, if/try depths, etc...
-->

<module name="Checker">
    <!-- Checks whether files end with a new line.                        -->
    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
    <!--
    <module name="NewlineAtEndOfFile"/>
    -->

    <!-- Checks that property files contain the same keys.         -->
    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
    <module name="Translation"/>

    <!--<module name="StrictDuplicateCode"/>-->
    
    <!-- Header checks -->
    <module name="Header">
    	<property name="header"
        	value="/**\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements.  See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the &quot;License&quot;); you may not use this file except in compliance with\n * the License.  You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"/>
    </module>
    
    <module name="RegexpMultiline">
        <property name="format" value="(\bgpl\b)|(\bgplv2\b)|(\bgnu\sgeneral\spublic\s*license\b)|(\bwww\.gnu\.org\/licenses\/gpl\.txt\b)"/>
        <property name="ignoreCase"  value="true"/>
    </module>
    
    <module name="FileLength">
        <property name="max" value="3500"/>
    </module>
    
    <module name="FileTabCharacter">
        <property name="fileExtensions" value="java"/>
    </module>
    
    <!-- 
	<module name="RegexpSingleline">
		<property name="format" value="\s+$"/>
		<property name="minimum" value="0"/>
		<property name="maximum" value="0"/>
	</module>
	 -->

    <module name="TreeWalker">

        <!-- Checks for Javadoc comments.                     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
        <!--
        <module name="PackageHtml"/>
        <module name="JavadocMethod"/>
        <module name="JavadocType"/>
        <module name="JavadocVariable"/>
        <module name="JavadocStyle"/>
        -->


        <!-- Checks for Naming Conventions.                  -->
        <!-- See http://checkstyle.sf.net/config_naming.html -->
        <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="RegexpHeader"/> -->


        <!-- Checks for imports                              -->
        <!-- See http://checkstyle.sf.net/config_import.html -->
        <module name="AvoidStarImport">
            <property name="excludes" value="java.io,java.util,java.net,java.nio,java.nio.channels,java.lang.reflect,org.w3c.dom,org.xml.sax,java.awt,javax.swing,junit.framework"/>
        </module>
        <!-- 
        <module name="ConstantName"/>
         -->
        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
        <module name="RedundantImport"/>
        <!-- When you javadoc {@link } an import is added that checkstyle thinks is unused import.
        <module name="UnusedImports"/>
        -->
        <module name="ImportOrder">
            <property name="groups" value="java,javax,org.w3c,org.xml,junit"/>
            <property name="ordered" value="true"/>
        </module>
        <!--
        <module name="ImportControl">
            <property name="file" value="etc/import-control.xml"/>
        </module>
        -->

        <!-- Checks for Size Violations.                    -->
        <!-- See http://checkstyle.sf.net/config_sizes.html -->
        <module name="AnonInnerLength">
            <property name="max" value="200"/>
        </module>
        <module name="ExecutableStatementCount">
            <property name="max" value="100"/>
        </module>
        <module name="LineLength">
            <property name="max" value="200"/>
        </module>
        <module name="MethodLength">
            <property name="max" value="200"/>
            <property name="countEmpty" value="false"/>
        </module>
        <!-- We should try to get this enabled soon..
        <module name="ParameterNumber">
            <property name="max" value="7"/>
        </module>
        -->

        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="EmptyForIteratorPad"/>
        <module name="EmptyForInitializerPad"/>
        <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="WhitespaceAfter">
            <property name="tokens" value="COMMA, SEMI"/>
        </module>
        <module name="WhitespaceAround">
            <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_EXTENSION_AND"/>
            <!-- <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_EXTENSION_AND"/>-->
        </module>

		<!-- 
		<module name="GenericWhitespace"/>
		 -->

        <!-- Modifier Checks                                    -->
        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
        <module name="ModifierOrder"/>
        <module name="RedundantModifier"/>


        <!-- Checks for blocks. You know, those {}'s         -->
        <!-- See http://checkstyle.sf.net/config_blocks.html -->
        <!--
        <module name="AvoidNestedBlocks">
            <property name="allowInSwitchCase" value="true"/>
        </module>
        -->
        <!-- We use alot of emply blocks..  they can be good too.
        <module name="EmptyBlock">
            <property name="option" value="text"/>
        </module>
        -->
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>
        
        <!-- 
        <module name="OuterTypeNumber"/>
         -->


        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <!--<module name="ArrayTrailingComma"/>-->
        <!--<module name="AvoidInlineConditionals"/>-->
        <module name="CovariantEquals"/>
        <module name="DoubleCheckedLocking"/>
        <module name="EmptyStatement"/>
        <module name="EqualsHashCode"/>
        <!--<module name="FinalLocalVariable"/>-->
        <!--
        <module name="HiddenField">
            <property name="ignoreConstructorParameter" value="true"/>
            <property name="ignoreSetter" value="true"/>
        </module>
        -->
        <!-- 
        <module name="EqualsAvoidNull"/>
         -->
        <module name="IllegalInstantiation"/>
        <!--<module name="IllegalToken"/>-->
        <!--<module name="IllegalTokenText"/>-->
        <!--<module name="InnerAssignment"/>-->
        <!--<module name="MagicNumber"/>-->
        <module name="MissingSwitchDefault"/>
        <!--module name="ModifiedControlVariable"/-->
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>
        <module name="StringLiteralEquality"/>
        <module name="NestedIfDepth">
            <property name="max" value="8"/>
        </module>
        <module name="NestedTryDepth">
            <property name="max" value="8"/>
        </module>
        <!--<module name="SuperClone"/>-->
        <module name="SuperFinalize"/>
        <!--<module name="IllegalCatch"/>-->
    	<module name="IllegalThrows">
      		<property name="illegalClassNames" value="java.lang.Error,java.lang.RuntimeException"/>
    	</module>
        <!--<module name="RedundantThrows"/>-->
        <module name="PackageDeclaration"/>
        <!--
        <module name="JUnitTestCase"/>
        -->
        <module name="ReturnCount">
            <property name="max" value="20"/>
        </module>

        <!-- Um.. we tend to use these alot.. perhaps enable this check later.
        <module name="IllegalType">
            <property name="format" value="^xxx$"/>
            <property name="illegalClassNames" value="java.util.GregorianCalendar, java.util.Hashtable, java.util.HashSet, java.util.HashMap, java.util.ArrayList, java.util.LinkedList, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.TreeSet, java.util.TreeMap"/> We use alot of emply blocks..  they can be good too.
        </module>
        -->
        <module name="DeclarationOrder"/>
        <!--<module name="ParameterAssignment"/>-->
        <module name="ExplicitInitialization"/>
        <!-- <module name="AnnotationUseStyle"/> -->
        <!-- <module name="MissingDeprecated"/> -->
        <!-- 
		<module name="MissingOverride">
			<property name="javaFiveCompatibility" value="true"/>
		</module>
         -->
         <!-- <module name="PackageAnnotation"/> -->
         <!-- <module name="SuppressWarnings"/> -->
        <module name="DefaultComesLast"/>
        <!--<module name="MissingCtor"/>-->
        <module name="FallThrough"/>
        <!--<module name="MultipleStringLiterals"/>-->
        <module name="MultipleVariableDeclarations"/>
        <!--<module name="RequireThis"/>-->
        <module name="UnnecessaryParentheses"/>



        <!-- Checks for class design                         -->
        <!-- See http://checkstyle.sf.net/config_design.html -->
        <!--<module name="DesignForExtension"/>-->
        <module name="FinalClass"/>
        <module name="HideUtilityClassConstructor"/>
        <!-- We still do enum style interfaces
        <module name="InterfaceIsType"/>
        -->
        <module name="MutableException"/>
        <module name="ThrowsCount">
            <property name="max" value="5"/>
        </module>

        <!-- Ah we do a fair bit of using a class like a struct.. so
             we are not so strict on requirin encapsulation
        <module name="VisibilityModifier">
            <property name="protectedAllowed" value="true"/>
            <property name="packageAllowed" value="true"/>
            <property name="publicMemberPattern" value="resource[12].*"/>
        </module>
        -->


        <!-- Metrics checks.                   -->
        <!-- See http://checkstyle.sf.net/config_metrics.html -->
        <module name="BooleanExpressionComplexity">
            <property name="max" value="6"/>
        </module>
        <!--<module name="ClassDataAbstractionCoupling"/>-->
        <!--<module name="ClassFanOutComplexity"/>-->
        <!--<module name="CyclomaticComplexity"/>-->
        <!--<module name="NPathComplexity"/>-->
        <!-- Ah big methods aint so bad! :)
        <module name="JavaNCSS">
            <property name="methodMaximum" value="75"/>
        </module>
        -->


        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <!--
        <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">
            <property name="format" value="WARNING"/>
        </module>

        <module name="UpperEll"/>

        <!--Assert statement may have side effects:-->
        <module name="DescendantToken">
            <property name="tokens" value="LITERAL_ASSERT"/>
            <property name="limitedTokens" value="ASSIGN,DEC,INC,POST_DEC,POST_INC,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,DIV_ASSIGN,MOD_ASSIGN,BSR_ASSIGN,SR_ASSIGN,SL_ASSIGN,BAND_ASSIGN,BXOR_ASSIGN,BOR_ASSIGN"/>
            <property name="maximumNumber" value="0"/>
        </module>

        <!--<module name="UncommentedMain"/>-->
        <!--module name="TrailingComment"/-->
        <module name="Indentation">
            <property name="caseIndent" value="0"/>
        </module>
        <!--<module name="RequiredRegexp">-->
    </module>
	<module name="SuppressionCommentFilter"/>
</module>
