--- /dev/null
+<?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">
+
+<!--
+ Checkstyle用チェック項目定義。
+
+ Checkstyle5.1以降向けに記述。
+
+ [ http://checkstyle.sourceforge.net/ ]
+
+ Copyright(c) 2010 olyutorskii
+-->
+
+
+<module name="Checker">
+
+ <property name="charset" value="UTF-8" />
+ <property name="severity" value="error" />
+
+
+ <!-- Duplicate Code -->
+ <module name="StrictDuplicateCode">
+ <property name="min" value="20" />
+ </module>
+
+
+ <!-- Headers -->
+ <module name="RegexpHeader">
+ <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
+ <property name="multiLines" value="2" />
+ </module>
+
+
+ <!-- Javadoc Comments -->
+ <module name="JavadocPackage" />
+
+
+ <!-- Miscellaneous -->
+ <module name="NewlineAtEndOfFile" />
+ <module name="Translation" />
+
+
+ <!-- Regexp -->
+ <module name="RegexpSingleline">
+ <property name="format" value="\s+$" />
+ <property name="minimum" value="0" />
+ <property name="maximum" value="0" />
+ </module>
+
+
+ <!-- Size Violations -->
+ <module name="FileLength" />
+
+
+ <!-- Whitespace -->
+ <module name="FileTabCharacter" />
+
+
+<!-- Filters
+ <module name="SeverityMatchFilter" />
+ <module name="SuppressionFilter" />
+ <module name="SuppressionCommentFilter" />
+ <module name="SuppressWithNearbyCommentFilter" />
+-->
+
+
+ <module name="TreeWalker">
+
+ <property name="tabWidth" value="4" />
+
+
+ <!-- Annotations -->
+
+ <module name="AnnotationUseStyle" />
+ <module name="MissingDeprecated" />
+ <module name="MissingOverride" />
+ <module name="PackageAnnotation" />
+ <module name="SuppressWarnings" />
+
+
+ <!-- Block Checks -->
+
+ <module name="EmptyBlock" />
+ <module name="LeftCurly" />
+ <module name="NeedBraces">
+ <property name="tokens" value="LITERAL_DO" />
+ </module>
+ <module name="RightCurly" />
+ <module name="AvoidNestedBlocks" />
+
+
+ <!-- Class Design -->
+
+ <module name="VisibilityModifier" />
+ <module name="FinalClass" />
+ <module name="InterfaceIsType" />
+ <module name="HideUtilityClassConstructor" />
+<!-- <module name="DesignForExtension" /> -->
+ <module name="MutableException" />
+ <module name="ThrowsCount">
+ <property name="max" value="4" />
+ </module>
+
+
+ <!-- Coding -->
+
+ <module name="ArrayTrailingComma" />
+ <module name="AvoidInlineConditionals" />
+ <module name="CovariantEquals" />
+ <module name="DoubleCheckedLocking" />
+ <module name="EmptyStatement" />
+ <module name="EqualsAvoidNull" />
+ <module name="EqualsHashCode" />
+<!-- <module name="FinalLocalVariable" /> -->
+ <module name="HiddenField">
+ <property name="ignoreConstructorParameter" value="true" />
+ <property name="ignoreSetter" value="true" />
+ <property name="ignoreAbstractMethods" value="true" />
+ </module>
+ <module name="IllegalInstantiation" />
+ <module name="IllegalToken">
+ <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
+ </module>
+ <module name="IllegalTokenText">
+ <property name="tokens" value="NUM_INT, NUM_LONG" />
+ <property name="format" value="^0[^lx]" />
+ <property name="ignoreCase" value="true" />
+ </module>
+ <module name="InnerAssignment" />
+ <module name="MagicNumber" />
+ <module name="MissingSwitchDefault" />
+ <module name="ModifiedControlVariable" />
+ <module name="RedundantThrows">
+ <property name="allowUnchecked" value="true" />
+ <property name="allowSubclasses" value="true" />
+ </module>
+ <module name="SimplifyBooleanExpression" />
+ <module name="SimplifyBooleanReturn" />
+ <module name="StringLiteralEquality" />
+ <module name="NestedIfDepth" />
+ <module name="NestedTryDepth" />
+ <module name="NoClone" />
+ <module name="NoFinalizer" />
+ <module name="SuperClone" />
+ <module name="SuperFinalize" />
+ <module name="IllegalCatch" />
+ <module name="IllegalThrows" />
+ <module name="PackageDeclaration" />
+ <module name="JUnitTestCase" />
+ <module name="ReturnCount">
+ <property name="max" value="3" />
+ </module>
+ <module name="IllegalType" />
+ <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="UnnecessaryParentheses" />
+
+
+ <!-- Imports -->
+
+ <module name="AvoidStarImport" />
+ <module name="AvoidStaticImport" />
+ <module name="IllegalImport" />
+ <module name="RedundantImport" />
+ <module name="UnusedImports" />
+ <module name="ImportOrder" />
+<!-- <module name="ImportControl" /> -->
+
+
+ <!-- Javadoc Comments -->
+
+ <module name="JavadocType" />
+ <module name="JavadocMethod" />
+ <module name="JavadocVariable">
+ <property name="scope" value="protected" />
+ </module>
+ <module name="JavadocStyle">
+ <property
+ name="endOfSentenceFormat"
+ value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
+ <property name="checkEmptyJavadoc" value="true" />
+ <property name="checkHtml" value="true" />
+ </module>
+<!-- <module name="WriteTag" /> -->
+
+
+ <!-- Metrics -->
+
+ <module name="BooleanExpressionComplexity" />
+ <module name="ClassDataAbstractionCoupling" />
+ <module name="ClassFanOutComplexity" />
+ <module name="CyclomaticComplexity" />
+ <module name="NPathComplexity" />
+ <module name="JavaNCSS" />
+
+
+ <!-- Miscellaneous -->
+
+ <module name="TodoComment">
+ <property name="format" value="TODO" />
+ </module>
+ <module name="UncommentedMain" />
+ <module name="UpperEll" />
+ <module name="ArrayTypeStyle" />
+<!-- <module name="FinalParameters" /> -->
+ <module name="DescendantToken" />
+<!--
+ <module name="Indentation">
+ <property name="basicOffset" value="4" />
+ <property name="caseIndent" value="0" />
+ </module>
+-->
+<!-- <module name="TrailingComment" /> -->
+ <module name="Regexp">
+ <property name="format" value="@author" />
+ <property name="illegalPattern" value="true" />
+ </module>
+ <module name="Regexp">
+ <property name="format" value="^ \* Copyright\(c\)" />
+ </module>
+ <module name="Regexp">
+ <property name="format" value="^ \* License : The MIT License" />
+ <property name="duplicateLimit" value="1" />
+ </module>
+
+ <!-- Modifiers -->
+
+ <module name="ModifierOrder" />
+ <module name="RedundantModifier" />
+
+
+ <!-- Naming Conventions -->
+
+ <module name="AbstractClassName" />
+ <module name="ClassTypeParameterName" />
+ <module name="ConstantName" />
+ <module name="LocalFinalVariableName">
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+ </module>
+ <module name="LocalVariableName">
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+ </module>
+ <module name="MemberName">
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+ </module>
+ <module name="MethodName" />
+ <module name="MethodTypeParameterName" />
+ <module name="PackageName" />
+ <module name="ParameterName">
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+ </module>
+ <module name="StaticVariableName">
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+ </module>
+ <module name="TypeName" />
+
+
+ <!-- Size Violations -->
+
+ <module name="ExecutableStatementCount" />
+ <module name="LineLength">
+ <property name="max" value="78" />
+ </module>
+ <module name="MethodLength" />
+ <module name="AnonInnerLength" />
+ <module name="ParameterNumber" />
+ <module name="OuterTypeNumber" />
+
+
+ <!-- Whitespace -->
+
+ <module name="GenericWhitespace" />
+ <module name="EmptyForInitializerPad" />
+ <module name="EmptyForIteratorPad" />
+ <module name="MethodParamPad">
+ <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL" />
+ </module>
+ <module name="NoWhitespaceAfter">
+ <property name="allowLineBreaks" value="false" />
+ <property name="tokens" value="DEC, DOT, INC" />
+ </module>
+ <module name="NoWhitespaceBefore">
+ <property name="allowLineBreaks" value="false" />
+ <property name="tokens" value="POST_DEC, POST_INC" />
+ </module>
+ <module name="NoWhitespaceBefore">
+ <property name="allowLineBreaks" value="true" />
+ <property name="tokens" value="SEMI" />
+ </module>
+ <module name="OperatorWrap">
+ <property name="option" value="eol" />
+ <property
+ name="tokens"
+ value="ASSIGN,
+ BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
+ PLUS_ASSIGN, MINUS_ASSIGN,
+ STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
+ SL_ASSIGN, SR_ASSIGN"
+ />
+ </module>
+ <module name="OperatorWrap">
+ <property name="option" value="nl" />
+ <property
+ name="tokens"
+ value="BAND, BOR, BXOR,
+ MINUS, STAR, DIV, MOD,
+ LAND, LOR,
+ EQUAL"
+ />
+ </module>
+ <module name="ParenPad">
+ <property name="option" value="nospace" />
+ <property name="tokens" value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL" />
+ </module>
+ <module name="TypecastParenPad" />
+ <module name="WhitespaceAfter">
+ <property name="tokens" value="COMMA, SEMI" />
+ </module>
+ <module name="WhitespaceAround">
+ <property
+ name="tokens"
+ value="ASSIGN,
+ LAND, LOR,
+ BAND, BOR, BXOR, BSR,
+ BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
+ SL, SR,
+ SL_ASSIGN, SR_ASSIGN,
+ MINUS, STAR, DIV, MOD,
+ PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
+ EQUAL, NOT_EQUAL, GT, GE, LT, LE,
+ "
+ />
+ </module>
+
+
+<!-- 代用品で解決
+ <module name="Header" />
+ <module name="RegexpSingleline" />
+ <module name="RegexpMultiline" />
+ <module name="RegexpSinglelineJava" />
+-->
+
+<!-- バグ?
+ <module name="RequireThis" />
+-->
+
+<!-- Obsolated
+ <module name="TabCharacter" />
+-->
+
+ </module>
+</module>
+
+<!-- EOF -->