<?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 CXF coding guidelines which 
	are similar to the Sun guidelines at:
	http://java.sun.com/docs/codeconv/index.html
	
	It also enforces aa bunch of other "BestPractices like method
	lengths, if/try depths, etc...
-->

<module name="Checker">
    <property name="severity" value="error"/>
    
	<!-- 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"/>-->

	<module name="TreeWalker">
		<!-- Enable FileContentsHolder to allow us to in turn turn on suppression comments -->
		<module name="FileContentsHolder" />
		<!-- 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" />


		<!-- 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="IllegalImport" /><!-- defaults to sun.* packages -->
		<module name="RedundantImport" />
		<module name="UnusedImports" />
		<module name="ImportOrder">
			<property name="groups"
				value="java,javax,org.w3c,org.xml,junit,antlr,com.,net,org,*" />
			<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="40" />
		</module>
		<module name="ExecutableStatementCount">
			<property name="max" value="75" />
		</module>
		<module name="LineLength">
			<property name="max" value="120" />
		</module>
		<module name="MethodLength">
			<property name="max" value="150" />
			<property name="countEmpty" value="false" />
		</module>
		<module name="ParameterNumber">
			<property name="max" value="7" />
            <property name="ignoreOverriddenMethods" value="true"/>
		</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, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_EXTENSION_AND" />
		</module>


		<!-- 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>
		<module name="EmptyBlock">
			<property name="option" value="text" />
		</module>
		<module name="LeftCurly" />
		<module name="NeedBraces" />
		<module name="RightCurly" />


		<!-- Checks for common coding problems               -->
		<!-- See http://checkstyle.sf.net/config_coding.html -->
		<!--<module name="ArrayTrailingComma"/>-->
		<!--<module name="AvoidInlineConditionals"/>-->
		<module name="CovariantEquals" />
		<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="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="3" />
		</module>
		<module name="NestedTryDepth">
			<property name="max" value="3" />
		</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="ReturnCount">
			<property name="max" value="6" />
		</module>

		<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" />
		</module>
		<module name="DeclarationOrder" />
		<!--<module name="ParameterAssignment"/>-->
		<module name="ExplicitInitialization" />
		<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" />
		<module name="InterfaceIsType" />
		<!--<module name="MutableException"/>-->
		<module name="ThrowsCount">
			<property name="max" value="5" />
		</module>
		<module name="VisibilityModifier">
			<property name="protectedAllowed" value="true" />
			<property name="packageAllowed" value="true" />
			<!-- this is needed for the resource injection unit tests.  It will removed 
				when private member inject is supported.
			-->
			<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"/>-->
		<module name="JavaNCSS">
			<property name="methodMaximum" value="100" />
		</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" />
            <property name="lineWrappingIndentation" value="0"/>
		</module>
		<!--<module name="RequiredRegexp">-->
        <module name="SuppressWarningsHolder" />
	</module>
    <module name="SuppressionCommentFilter">
        <property name="offCommentFormat" value="CHECKSTYLE\:OFF"/>
        <property name="onCommentFormat" value="CHECKSTYLE\:ON"/>
    </module>
    <module name="SuppressionCommentFilter">
        <property name="offCommentFormat" value="CHECKSTYLE.OFF\:([\w\|]+)"/>
        <property name="onCommentFormat" value="CHECKSTYLE.ON\:([\w\|]+)"/>
        <property name="checkFormat" value="$1"/>
    </module>
    <module name="SuppressWarningsFilter"/>
    <!-- Header checks -->
    <module name="Header">
      <property name="header"
                value="/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * &quot;License&quot;); you may not use this file except in compliance\n * with 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,\n * software distributed under the License is distributed on an\n * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n" />
    </module>
    <!-- <module name="RegexpHeader"/> -->
    <module name="FileLength">
      <property name="max" value="3000" />
    </module>
    <module name="FileTabCharacter">
      <property name="eachLine" value="true"/>
    </module>
</module>
