You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
7.0 KiB

<?xml version="1.0" ?>
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<!-- Annotations -->
<module name="SuppressionFilter">
<property name="file" value="checkstyle/suppressions.xml" />
<property name="optional" value="true" />
</module>
<!-- Allow suppressing with an annotation -->
<module name="SuppressWarningsFilter" />
<!--
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" />
<module name="NewlineAtEndOfFile" />
<module name="Translation" />
<module name="FileLength" />
<module name="FileTabCharacter" />
<module name="RegexpSingleline">
<property name="format" value="\s+$" />
<property name="minimum" value="0" />
<property name="maximum" value="0" />
<property name="message" value="Line has trailing spaces." />
</module>
<module name="LineLength">
<property name="max" value="120" />
</module>
<module name="TreeWalker">
<!-- Block Checks -->
<module name="AvoidNestedBlocks" />
<module name="EmptyBlock" />
<module name="LeftCurly" />
<module name="NeedBraces" />
<module name="RightCurly" />
<!-- Class Design -->
<module name="FinalClass" />
<module name="HideUtilityClassConstructor" />
<module name="InterfaceIsType" />
<module name="OneTopLevelClass" />
<module name="VisibilityModifier" />
<!-- Coding -->
<module name="CovariantEquals" />
<module name="DeclarationOrder" />
<module name="DefaultComesLast" />
<module name="EmptyStatement" />
<module name="EqualsAvoidNull" />
<module name="EqualsHashCode" />
<module name="ExplicitInitialization" />
<module name="FallThrough" />
<module name="HiddenField">
<property name="ignoreConstructorParameter" value="true" />
<property name="ignoreSetter" value="true" />
</module>
<module name="IllegalCatch" />
<module name="IllegalInstantiation" />
<module name="IllegalThrows" />
<module name="IllegalType" />
<module name="InnerAssignment" />
<module name="MagicNumber">
<property name="ignoreFieldDeclaration" value="true" />
<property name="ignoreAnnotation" value="true" />
<property name="ignoreHashCodeMethod" value="true" />
</module>
<module name="MissingSwitchDefault" />
<module name="ModifiedControlVariable" />
<module name="MultipleVariableDeclarations" />
<module name="NestedForDepth" />
<module name="NestedIfDepth" />
<module name="NestedTryDepth" />
<module name="NoClone" />
<module name="NoFinalizer" />
<module name="OneStatementPerLine" />
<module name="OverloadMethodsDeclarationOrder" />
<module name="PackageDeclaration" />
<module name="ParameterAssignment" />
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
<module name="UnnecessaryParentheses" />
<!-- Headers -->
<!-- Imports -->
<module name="AvoidStarImport">
<property name="excludes" value="java.awt,java.io,java.util,javax.swing,java.lang.Math,org.junit.Assert,org.mockito.Mockito,org.springframework.test.web.servlet.result.MockMvcResultMatchers" />
</module>
<module name="IllegalImport" />
<module name="ImportOrder">
<property name="option" value="bottom" />
<property name="sortStaticImportsAlphabetically" value="true" />
<property name="separatedStaticGroups" value="true" />
</module>
<module name="RedundantImport" />
<module name="UnusedImports" />
<!-- Javadoc Comments -->
<module name="JavadocMethod">
<property name="allowedAnnotations" value="Override,Test,ParameterizedTest,Before,BeforeClass,BeforeEach,BeforeAll,After,AfterClass,AfterEach,AfterAll,DisplayName" />
<property name="scope" value="package" />
<property name="allowMissingParamTags" value="true" />
<property name="allowMissingReturnTag" value="true" />
</module>
<module name="JavadocStyle" />
<module name="JavadocType" />
<module name="JavadocVariable">
<property name="scope" value="protected" /> <!-- *** don't document private fields -->
</module>
<module name="MissingJavadocMethod">
<property name="scope" value="package" />
<property name="allowMissingPropertyJavadoc" value="true" />
<property name="minLineCount" value="2" />
<property name="allowedAnnotations" value="Override,Test,ParameterizedTest,Before,BeforeClass,BeforeEach,BeforeAll,After,AfterClass,AfterEach,AfterAll,DisplayName" />
</module>
<module name="MissingJavadocType">
<property name="scope" value="package" />
</module>
<!-- Metrics -->
<!-- Miscellaneous -->
<module name="ArrayTypeStyle" />
<module name="CommentsIndentation" />
<module name="Indentation" />
<module name="OuterTypeFilename" />
<module name="UpperEll" />
<!-- Modifiers -->
<module name="ModifierOrder" />
<module name="RedundantModifier" />
<!-- Naming conventions -->
<module name="ConstantName" />
<module name="LocalFinalVariableName" />
<module name="LocalVariableName" />
<module name="MemberName" />
<module name="MethodName">
<!-- *** using Google flavor to permit underscore in test method names -->
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$" />
<message key="name.invalidPattern" value="Method name ''{0}'' must match pattern ''{1}''." />
</module>
<module name="PackageName">
<!--
*** ensure packages start with a lowercase letter and only contain lowercase letters or numbers
-->
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
</module>
<module name="ParameterName" />
<module name="StaticVariableName" />
<module name="TypeName" />
<!-- Regexp -->
<!-- Size violations -->
<module name="MethodLength" />
<module name="ParameterNumber" />
<!-- Whitespace -->
<module name="EmptyForIteratorPad" />
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true" />
<property name="allowMultipleEmptyLines" value="false" />
</module>
<module name="GenericWhitespace" />
<module name="MethodParamPad" />
<module name="NoWhitespaceAfter" />
<module name="NoWhitespaceBefore" />
<module name="OperatorWrap" />
<module name="ParenPad" />
<module name="TypecastParenPad" />
<module name="WhitespaceAfter" />
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true" />
<property name="allowEmptyMethods" value="true" />
<property name="allowEmptyTypes" value="true" />
</module>
<!-- make annotations available to SuppressWarningsFilter -->
<module name="SuppressWarningsHolder" />
</module>
</module>