<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">


<module name="Checker">
    <!--
        If you set the basedir property below, then all reported file
        names will be relative to the specified directory. See
        http://checkstyle.sourceforge.net/5.x/config.html#Checker
        <property name="basedir" value="${basedir}"/>
    -->

    <property name="fileExtensions" value="java, properties, xml"/>

    
    <!-- See http://checkstyle.sf.net/config_sizes.html -->
    <module name="FileLength"/>

    <!-- Checks for whitespace                               -->
    <!-- See http://checkstyle.sf.net/config_whitespace.html -->
    <module name="FileTabCharacter"/>
	


    <!-- Checks for Headers                                -->
   <module name="RegexpHeader"> 
   		<property name="header" value= "/\*\n \* SE1021"/> 
   </module> 

    <module name="TreeWalker">
		
		

        <!-- Checks for Javadoc comments.                     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
		<module name="JavadocMethod">
			<property name="minLineCount" value="1"/>
			<property name="scope" value="public"/>
			<property name="allowMissingPropertyJavadoc" value="true"/>
			<property name="ignoreMethodNamesRegex" value="main"/>
			<property name="allowedAnnotations" value=" "/>
		</module>
        <module name="JavadocType">
			<property name="authorFormat" value="\S"/>
			<property name="versionFormat" value="\S"/>
		</module>
        <module name="JavadocVariable">
			<property name="scope" value="public"/>
		</module>
        <module name="JavadocStyle">
			<property name="checkFirstSentence" value="false"/>	
			<property name="checkEmptyJavadoc" value="true"/>		
		</module>

        <!-- Checks for Naming Conventions.                  -->
        <!-- See http://checkstyle.sf.net/config_naming.html -->
        <module name="ConstantName"/>
        <module name="LocalVariableName"/>
        <module name="MemberName"/>
        <module name="MethodName"/>
        <module name="ParameterName"/>
        <module name="StaticVariableName"/>
        <module name="TypeName"/>

        <!-- Checks for imports                              -->
        <!-- See http://checkstyle.sf.net/config_import.html -->
        <module name="AvoidStarImport"/>
        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
        <module name="RedundantImport"/>
        <module name="UnusedImports">
            <property name="processJavadoc" value="false"/>
        </module>

        <!-- Checks for Size Violations.                    -->
        <!-- See http://checkstyle.sf.net/config_sizes.html -->
        <module name="LineLength">
			<property name="max" value="120"/>
		</module>
        <module name="MethodLength"/>
        <module name="ParameterNumber"/>

        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="GenericWhitespace"/>
        <module name="MethodParamPad"/>
        <module name="NoWhitespaceBefore"/>
        <module name="ParenPad"/>

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

        <!-- Checks for blocks. You know, those {}'s         -->
        <!-- See http://checkstyle.sf.net/config_blocks.html -->
        <module name="AvoidNestedBlocks"/>
        <module name="EmptyBlock"/>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>

        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <module name="AvoidInlineConditionals"/>
        <module name="EmptyStatement"/>
        <module name="EqualsHashCode"/>
        <module name="IllegalInstantiation"/>
        <module name="InnerAssignment"/>
        <module name="MagicNumber">
			<property name="ignoreNumbers" value="-1, 0, 1, 2, 3, 4"/>
			<property name="ignoreAnnotation" value="true"/>
		</module>
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>
		
		<!-- find incomplete autogenerated code                   -->
		<module name="TodoComment">
   			<property name="format" value="(TODO)|(FIXME)|(Todo)|(to do)"/>
		</module>
		<module name="RegexpSinglelineJava">
  			<property name="format" value="   e\.printStackTrace\(\);"/>
  			<property name="ignoreComments" value="true"/>
		</module>
		<module name="RegexpSinglelineJava">
  			<property name="format" value="\* Created by [a-zA-Z 0-9]+ on [0-9]{1,2}/[0-9]{1,2}/[0-9]{4}\."/>
			<property name="message" value="Autogenerated class comment"/>
		</module>

        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <module name="UpperEll"/>
		<module name="MissingOverride"/>
		<module name="IllegalCatch"/>
		<module name="IllegalThrows"/>
		<module name="OneTopLevelClass"/>
		<module name="Indentation">
			<property name="arrayInitIndent" value="8"/>
			<property name="lineWrappingIndentation" value="8"/>
		</module>
		
		

    </module>

</module>