Skip to content

Instantly share code, notes, and snippets.

@ismummy
Last active January 28, 2026 00:17
Show Gist options
  • Select an option

  • Save ismummy/7c099351defd18d7fd619e2bf8358353 to your computer and use it in GitHub Desktop.

Select an option

Save ismummy/7c099351defd18d7fd619e2bf8358353 to your computer and use it in GitHub Desktop.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.org (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
To suppress certain violations please review suppression filters.
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->
<module name="Checker">
<property name="charset" value="UTF-8"/>
<property name="fileExtensions" value=""/>
<property name="severity" value="${checkstyle.Checker.severity}" default="error"/>
<!-- Factory is "error". -->
<property name="tabWidth" value="4"/>
<!-- Factory is "8". -->
<module name="SuppressWarningsFilter"/>
<!-- MISCELLANEOUS -->
<module name="RegexpMultiline">
<property name="id" value="RegexpMultiline_AvoidEmptyCommentMultiLine"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="/\*[^\*][\s\*]*?[^\*]\*/"/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="Empty multi-line comments are not allowed."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="RegexpMultiline">
<!-- This custom rule assumes all single-line comments are on their own lines,
which is asserted separately by the "TrailingComment" rule.
This rule reports violations as if they were 1 line earlier than they
actually are, because typical regex engines don't support the variable
length lookbehind assertions we would have preferred to use like this:
"^(?<![ \t]*//[ \t]*[^\n])?\n(?:[ \t]*//[ \t]*\n)+(?![ \t]*//[ \t]*[^\n])"
To keep the regex simpler, this rule will not catch violations on
the very first line of the file or as the very last characters of a file. -->
<property name="id" value="RegexpMultiline_AvoidEmptyCommentSingleLine"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="^(?:[ \t]*[^/\s][^\n]*)?\n(?:[ \t]*//[ \t]*\n)+(?![ \t]*//[ \t]*[^\n])"/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="Empty single-line comments are not allowed unless grouped with nonempty single-line comments (violation is on line below the reported line)."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="RegexpMultiline">
<property name="id" value="RegexpMultiline_AvoidEmptyJavadocBlocks"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="/\*\*[^\*][\s\*]*?[^\*]\*/"/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="Empty Javadoc blocks are not allowed."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="RegexpMultiline">
<property name="id" value="RegexpMultiline_AvoidSuppressWarnings"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="@SuppressWarnings\(\{?\s*(?:"[^"]*"\s*,\s*)*(?!"(?:${checkstyle.RegexpMultiline_AvoidSuppressWarnings.allowed_suppression_names_regex})")"[^"]*"" default="@SuppressWarnings\(\{?\s*"[^"]*""/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="At least one typically fatalized warning suppressed by @SuppressWarnings annotation."/>
<property name="severity" value="${checkstyle.RegexpMultiline_AvoidSuppressWarnings.severity}" default="ignore"/>
</module>
<module name="RegexpMultiline">
<!-- This custom rule exists because "Indentation" has some gaps.
In particular, while it flags if a line isn't indented far
enough, it often doesn't flag if a line is indented too far.
While "Indentation" has the "forceStrictCondition" option which
would handle that, it also is too strict in other ways such
that one can't both satisfy the IntelliJ auto-formatter and
this rule at the same time.
So this custom rule simply asserts that each line isn't indented
more than 16 spaces (4 regular indents or 2 continuation indents)
further than the one above it, so to take care of the main concern
"forceStrictCondition" would have handled but without the other effects. -->
<!-- This custom rule can be SuppressWarnings at the class or method level
although it seems flakey in that simply having the SuppressWarnings
further up in the file than the violation will suppress it. -->
<property name="id" value="RegexpMultiline_AvoidTooMuchIndentation"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="^( *)\S[^\n]*\n+\1 {17,}"/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="A line should not be indented more than 16 spaces beyond its prior line."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="NewlineAtEndOfFile">
<property name="lineSeparator" value="lf_cr_crlf"/>
<!-- Factory is "lf_cr_crlf". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="Translation"/>
<module name="UniqueProperties"/>
<module name="RegexpMultiline">
<!-- This custom rule can be SuppressWarnings at the class or method level
although it seems flakey in that simply having the SuppressWarnings
further up in the file than the violation will suppress it. -->
<property name="id" value="RegexpMultiline_PackagePrivateTestMethod"/>
<property name="fileExtensions" value="java"/>
<property name="format" value="^ +\@[\w\.]*Test\b[^\n]*\n(?: +\S[^\n]*\n)*? +(?:public|protected|private) "/>
<property name="matchAcrossLines" value="false"/>
<property name="message" value="A JUnit 5 Jupiter @Test method should have package-private visibility."/>
<property name="severity" value="${checkstyle.RegexpMultiline_PackagePrivateTestMethod.severity}" default="error"/>
</module>
<!-- SIZE VIOLATIONS -->
<module name="FileLength">
<property name="max" value="${checkstyle.FileLength.max}" default="500"/>
<!-- Factory is "2000". -->
<property name="severity" value="${checkstyle.FileLength.severity}" default="ignore"/>
</module>
<module name="LineLength">
<property name="ignorePattern" value=""(\\"|[^"]){110,}""/>
<property name="max" value="140"/>
<!-- Factory is "80". -->
<property name="severity" value="${checkstyle.LineLength.severity}" default="error"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.org/checks/whitespace/index.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="RegexpSingleline">
<property name="id" value="RegexpSingleline_NoLineTrailingWhitespace"/>
<property name="format" value="\s+$"/>
<property name="message" value="Line has trailing whitespace."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="TreeWalker">
<property name="fileExtensions" value="java"/>
<!-- Factory is "java". -->
<module name="SuppressWarningsHolder"/>
<!-- ANNOTATIONS -->
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationMostCases"/>
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, RECORD_DEF, COMPACT_CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationVariables"/>
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<!-- Deliberately excluding module: <module name="AnnotationOnSameLine"/> -->
<module name="AnnotationUseStyle">
<property name="closingParens" value="never"/>
<!-- Factory is "never". -->
<property name="elementStyle" value="compact"/>
<!-- Factory is "compact_no_array". -->
<property name="trailingArrayComma" value="ignore"/>
<!-- Factory is "never". -->
</module>
<module name="MissingDeprecated">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="MissingOverride">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="PackageAnnotation"/>
<!-- BLOCK CHECKS -->
<module name="AvoidNestedBlocks">
<property name="allowInSwitchCase" value="true"/>
<!-- Factory is "false". -->
</module>
<module name="EmptyBlock">
<property name="option" value="statement"/>
<!-- Factory is "statement". -->
<property name="tokens" value=" LITERAL_WHILE, LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_DO, LITERAL_IF, LITERAL_ELSE, LITERAL_FOR, INSTANCE_INIT, STATIC_INIT, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_CASE, LITERAL_DEFAULT, ARRAY_INIT, "/>
</module>
<!-- Deliberately excluding module: <module name="EmptyCatchBlock"/> -->
<module name="LeftCurly">
<property name="tokens" value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF, INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF, OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/>
</module>
<module name="NeedBraces">
<property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurly_alone"/>
<property name="option" value="alone"/>
<!-- Factory is "same". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT, ENUM_DEF, INTERFACE_DEF, RECORD_DEF, COMPACT_CTOR_DEF, "/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlyAlone"/>
<property name="option" value="alone"/>
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF, INTERFACE_DEF, RECORD_DEF, COMPACT_CTOR_DEF, LITERAL_SWITCH"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurly_same"/>
<property name="option" value="same"/>
<!-- Factory is "same". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO, ANNOTATION_DEF, "/>
</module>
<!-- CLASS DESIGN -->
<!-- Deliberately excluding module: <module name="DesignForExtension"/> -->
<module name="FinalClass"/>
<module name="HideUtilityClassConstructor">
<message key="hide.utility.class" value="Utility classes should not have a public or default constructor; declare a ''private MyClassName() <empty-block>''."/>
</module>
<module name="InnerTypeLast"/>
<module name="InterfaceIsType"/>
<module name="MutableException"/>
<module name="OneTopLevelClass"/>
<!-- Deliberately excluding module: <module name="ThrowsCount"/> -->
<module name="VisibilityModifier">
<property name="allowPublicFinalFields" value="true"/>
<!-- Factory is "false". -->
</module>
<!-- CODING -->
<module name="ArrayTrailingComma">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<!-- Deliberately excluding module: <module name="AvoidDoubleBraceInitialization"/> -->
<!-- Deliberately excluding module: <module name="AvoidInlineConditionals"/> -->
<module name="AvoidNoArgumentSuperConstructorCall"/>
<module name="CovariantEquals"/>
<!-- Deliberately excluding module: <module name="DeclarationOrder"/> -->
<module name="DefaultComesLast"/>
<module name="EmptyStatement">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="EqualsAvoidNull"/>
<module name="EqualsHashCode"/>
<module name="ExplicitInitialization"/>
<module name="FallThrough"/>
<module name="FinalLocalVariable">
<property name="severity" value="${checkstyle.FinalLocalVariable.severity}" default="ignore"/>
<property name="tokens" value="VARIABLE_DEF,PARAMETER_DEF"/>
<!-- Factory is "VARIABLE_DEF". -->
<property name="validateEnhancedForLoopVariable" value="true"/>
<!-- Factory is "false". -->
<message key="final.variable" value="Variable ''{0}'' should be declared final because it is only assigned to once; otherwise, assign to it multiple times."/>
</module>
<!-- Deliberately excluding module: <module name="HiddenField"/> -->
<module name="IllegalCatch"/>
<module name="IllegalInstantiation"/>
<module name="IllegalThrows"/>
<module name="IllegalToken"/>
<module name="IllegalTokenText">
<property name="id" value="IllegalTokenText_CharAltEscape"/>
<property name="format" value="\\u00(08|09|0A|0C|0D|22|27|5C)|\\(0(10|11|12|14|15|42|47)|134)"/>
<property name="ignoreCase" value="true"/>
<!-- Factory is "false". -->
<property name="message" value="Avoid using corresponding octal or Unicode escape."/>
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
</module>
<module name="IllegalType"/>
<module name="InnerAssignment"/>
<!-- Deliberately excluding module: <module name="MatchXpath"/> -->
<!-- Deliberately excluding module: <module name="MissingCtor"/> -->
<module name="MissingSwitchDefault"/>
<module name="ModifiedControlVariable"/>
<!-- Deliberately excluding module: <module name="MultipleStringLiterals"/> -->
<module name="MultipleVariableDeclarations"/>
<!-- Deliberately excluding module: <module name="NestedForDepth"/> -->
<!-- Deliberately excluding module: <module name="NestedIfDepth"/> -->
<!-- Deliberately excluding module: <module name="NestedTryDepth"/> -->
<!-- Deliberately excluding module: <module name="NoArrayTrailingComma"/> -->
<module name="NoClone"/>
<!-- Deliberately excluding module: <module name="NoEnumTrailingComma"/> -->
<module name="NoFinalizer"/>
<module name="OneStatementPerLine"/>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="PackageDeclaration"/>
<module name="ParameterAssignment"/>
<module name="RequireThis"/>
<!-- Deliberately excluding module: <module name="ReturnCount"/> -->
<module name="SimplifyBooleanExpression"/>
<module name="SimplifyBooleanReturn"/>
<module name="StringLiteralEquality"/>
<module name="SuperClone"/>
<module name="SuperFinalize"/>
<!-- Deliberately excluding module: <module name="UnnecessaryParentheses"/> -->
<module name="UnnecessarySemicolonAfterOuterTypeDeclaration">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="UnnecessarySemicolonAfterTypeMemberDeclaration">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="UnnecessarySemicolonInEnumeration">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="UnnecessarySemicolonInTryWithResources">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<!-- Deliberately excluding module: <module name="VariableDeclarationUsageDistance"/> -->
<!-- IMPORTS -->
<module name="AvoidStarImport">
<property name="severity" value="${checkstyle.group.imports.severity}" default="error"/>
</module>
<module name="AvoidStaticImport">
<property name="excludes" value="${checkstyle.AvoidStaticImport.excludes}" default="org.hamcrest.Matchers.*,org.junit.jupiter.api.Assertions.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*,org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*,org.springframework.test.web.servlet.result.MockMvcResultMatchers.*"/>
<!-- Factory is "". -->
<property name="severity" value="${checkstyle.AvoidStaticImport.severity}" default="ignore"/>
</module>
<module name="RegexpSinglelineJava">
<property name="id" value="RegexpSinglelineJava_AvoidNonStaticImport"/>
<property name="format" value="^\s*\bimport\s+(?!static\b)(?:${checkstyle.RegexpSinglelineJava_AvoidNonStaticImport.class_names_regex})\s*;\s*$" default="dummy_default_value_to_prevent_error_when_parameter_not_valued"/>
<property name="ignoreComments" value="true"/>
<property name="message" value="This class may only be used by way of static method imports."/>
<property name="severity" value="${checkstyle.RegexpSinglelineJava_AvoidNonStaticImport.severity}" default="error"/>
</module>
<module name="CustomImportOrder">
<property name="customImportOrderRules" value="SAME_PACKAGE(2)###THIRD_PARTY_PACKAGE###STANDARD_JAVA_PACKAGE###STATIC"/>
<!-- Factory is "". -->
<property name="separateLineBetweenGroups" value="true"/>
<!-- Factory is "true". -->
<property name="severity" value="${checkstyle.group.imports.severity}" default="error"/>
<property name="sortImportsInGroupAlphabetically" value="true"/>
<!-- Factory is "false". -->
<message key="custom.import.order" value="Import statement for ''{2}'' is in the wrong order. Should be in the ''{0}'' group, expecting group ''{1}'' on this line. Note that just a single line out of order may cause many of these violation messages."/>
<message key="custom.import.order.lex" value="Wrong lexicographical order for ''{0}'' import. Should be before ''{1}''. Note that just a single line out of order may cause many of these violation messages."/>
<message key="custom.import.order.nonGroup.expected" value="Import statement for ''{1}'' is in the wrong order. Should be in the ''{0}'' group, expecting not assigned imports on this line. Note that just a single line out of order may cause many of these violation messages."/>
</module>
<module name="IllegalImport">
<property name="severity" value="${checkstyle.group.imports.severity}" default="error"/>
</module>
<!-- Deliberately excluding module: <module name="ImportOrder"/> -->
<module name="RedundantImport">
<property name="severity" value="${checkstyle.group.imports.severity}" default="error"/>
</module>
<module name="UnusedImports">
<property name="severity" value="${checkstyle.group.imports.severity}" default="error"/>
</module>
<!-- JAVADOC COMMENTS -->
<module name="AtclauseOrder">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
<property name="tagOrder" value=" @param, @return, @throws, @deprecated, "/>
<property name="target" value=" CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF, "/>
</module>
<module name="InvalidJavadocPosition">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="JavadocBlockTagLocation">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="JavadocContentLocation">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="JavadocMethod">
<property name="accessModifiers" value="public, protected, package, private"/>
<!-- Factory is "public, protected, package, private". -->
<property name="allowedAnnotations" value="AfterAll, AfterEach, BeforeAll, BeforeEach, Override, ParameterizedTest, RepeatedTest, Test"/>
<!-- Factory is "Override". -->
<property name="allowMissingParamTags" value="false"/>
<!-- Factory is "false". -->
<property name="allowMissingReturnTag" value="false"/>
<!-- Factory is "false". -->
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
<property name="validateThrows" value="true"/>
<!-- Factory is "false". -->
</module>
<module name="JavadocMissingLeadingAsterisk">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="JavadocMissingWhitespaceAfterAsterisk">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="JavadocParagraph">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<!-- Deliberately excluding module: <module name="JavadocStyle"/> -->
<module name="JavadocTagContinuationIndentation">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<module name="JavadocType">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<!-- Deliberately excluding module: <module name="JavadocVariable"/> -->
<module name="MissingJavadocMethod">
<property name="allowedAnnotations" value="AfterAll, AfterEach, BeforeAll, BeforeEach, Override, ParameterizedTest, RepeatedTest, Test"/>
<!-- Factory is "Override". -->
<property name="allowMissingPropertyJavadoc" value="${checkstyle.MissingJavadocMethod.allowMissingPropertyJavadoc}" default="false"/>
<!-- Factory is "false". -->
<property name="scope" value="${checkstyle.MissingJavadocMethod.scope}" default="anoninner"/>
<!-- Factory is "public". -->
<property name="severity" value="${checkstyle.MissingJavadocMethod.severity}" default="ignore"/>
</module>
<module name="MissingJavadocPackage">
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<!-- Deliberately excluding module: <module name="MissingJavadocType"/> -->
<module name="NonEmptyAtclauseDescription">
<property name="severity" value="${checkstyle.NonEmptyAtclauseDescription.severity}" default="error"/>
</module>
<module name="RegexpSinglelineJava">
<!-- This custom rule exists because "NonEmptyAtclauseDescription"
fails to check @return like it does @param and @throws. -->
<!-- This custom rule can be SuppressWarnings at the class level but not
at the method level, same as with "NonEmptyAtclauseDescription". -->
<property name="id" value="RegexpSinglelineJava_NonEmptyReturnAtclauseDescription"/>
<property name="format" value="^\s*\*\s*\@return(?:\s+(?:[^\{]\S+|\{\@code\b[^\}]+\}))?\s*$"/>
<property name="ignoreComments" value="false"/>
<property name="message" value="@return at-clause should have a non-empty description; it should be followed by more than one word."/>
<property name="severity" value="${checkstyle.NonEmptyAtclauseDescription.severity}" default="error"/>
</module>
<!-- Deliberately excluding module: <module name="RequireEmptyLineBeforeBlockTagGroup"/> -->
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
<!-- Factory is "true". -->
<property name="severity" value="${checkstyle.group.javadoc.severity}" default="ignore"/>
</module>
<!-- Deliberately excluding module: <module name="SummaryJavadoc"/> -->
<!-- Deliberately excluding module: <module name="WriteTag"/> -->
<!-- METRICS -->
<!-- Deliberately excluding module: <module name="BooleanExpressionComplexity"/> -->
<!-- Deliberately excluding module: <module name="ClassDataAbstractionCoupling"/> -->
<!-- Deliberately excluding module: <module name="ClassFanOutComplexity"/> -->
<!-- Deliberately excluding module: <module name="CyclomaticComplexity"/> -->
<!-- Deliberately excluding module: <module name="JavaNCSS"/> -->
<!-- Deliberately excluding module: <module name="NPathComplexity"/> -->
<!-- MISCELLANEOUS -->
<module name="ArrayTypeStyle"/>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowByTailComment" value="true"/>
<!-- Factory is "false". -->
<property name="allowEscapesForControlCharacters" value="true"/>
<!-- Factory is "false". -->
<property name="allowIfAllCharactersEscaped" value="false"/>
<!-- Factory is "false". -->
<property name="allowNonPrintableEscapes" value="true"/>
<!-- Factory is "false". -->
</module>
<module name="CommentsIndentation">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="RegexpSinglelineJava">
<property name="id" value="RegexpSinglelineJava_CommentSingleLineMissingWhitespaceAfterSolidus"/>
<property name="format" value="^\s*//\S"/>
<property name="message" value="Single-line comment text must begin with whitespace."/>
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="DescendantToken"/>
<module name="FinalParameters">
<property name="ignorePrimitiveTypes" value="false"/>
<!-- Factory is "false". -->
<property name="severity" value="${checkstyle.FinalParameters.severity}" default="ignore"/>
<property name="tokens" value=" METHOD_DEF, CTOR_DEF, LITERAL_CATCH, FOR_EACH_CLAUSE, "/>
<!-- All tokens are chosen; factory is a proper subset of these. -->
</module>
<module name="Indentation">
<property name="arrayInitIndent" value="8"/>
<!-- Factory is "4". -->
<property name="basicOffset" value="4"/>
<!-- Factory is "4". -->
<property name="braceAdjustment" value="0"/>
<!-- Factory is "0". -->
<property name="caseIndent" value="4"/>
<!-- Factory is "4". -->
<property name="forceStrictCondition" value="false"/>
<!-- Factory is "false". -->
<property name="lineWrappingIndentation" value="8"/>
<!-- Factory is "4". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="throwsIndent" value="8"/>
<!-- Factory is "4". -->
</module>
<module name="NoCodeInFile"/>
<module name="OuterTypeFilename"/>
<!-- Deliberately excluding module: <module name="TodoComment"/> -->
<module name="TrailingComment">
<property name="format" value="^ *$"/>
<!-- Factory is "^[\s});]*$". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="UncommentedMain"/>
<module name="UpperEll"/>
<!-- MODIFIERS -->
<!-- Deliberately excluding module: <module name="ClassMemberImpliedModifier"/> -->
<!-- Deliberately excluding module: <module name="InterfaceMemberImpliedModifier"/> -->
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
<!-- NAMING CONVENTIONS -->
<!-- Deliberately excluding module: <module name="AbbreviationAsWordInName"/> -->
<module name="AbstractClassName">
<property name="format" value="^[A-Z].+$"/>
<!-- Factory is "^Abstract.+$". -->
<property name="ignoreModifier" value="true"/>
<!-- Factory is "false". -->
</module>
<!-- Deliberately excluding module: <module name="CatchParameterName"/> -->
<module name="ClassTypeParameterName"/>
<!-- Deliberately excluding module: <module name="ConstantName"/> -->
<module name="IllegalIdentifierName"/>
<module name="InterfaceTypeParameterName"/>
<!-- Deliberately excluding module: <module name="LambdaParameterName"/> -->
<!-- Deliberately excluding module: <module name="LocalFinalVariableName"/> -->
<!-- Deliberately excluding module: <module name="LocalVariableName"/> -->
<!-- Deliberately excluding module: <module name="MemberName"/> -->
<!-- Deliberately excluding module: <module name="MethodName"/> -->
<module name="MethodTypeParameterName"/>
<!-- Deliberately excluding module: <module name="PackageName"/> -->
<!-- Deliberately excluding module: <module name="ParameterName"/> -->
<!-- Deliberately excluding module: <module name="PatternVariableName"/> -->
<!-- Deliberately excluding module: <module name="RecordComponentName"/> -->
<module name="RecordTypeParameterName"/>
<!-- Deliberately excluding module: <module name="StaticVariableName"/> -->
<module name="TypeName">
<property name="format" value="^[A-Z].+$"/>
<!-- Factory is "^[A-Z][a-zA-Z0-9]*$". -->
</module>
<!-- REGEXP -->
<!-- The modules {"Regexp", "RegexpSinglelineJava"}
are special; see the other REGEXP section above for details. -->
<!-- SIZE VIOLATIONS -->
<!-- Deliberately excluding module: <module name="AnonInnerLength"/> -->
<!-- Deliberately excluding module: <module name="ExecutableStatementCount"/> -->
<!-- Deliberately excluding module: <module name="LambdaBodyLength"/> -->
<!-- Deliberately excluding module: <module name="MethodCount"/> -->
<module name="MethodLength">
<property name="countEmpty" value="false"/>
<!-- Factory is "true". -->
<property name="max" value="${checkstyle.MethodLength.max}" default="50"/>
<!-- Factory is "150". -->
<property name="severity" value="${checkstyle.MethodLength.severity}" default="ignore"/>
</module>
<module name="OuterTypeNumber"/>
<!-- Deliberately excluding module: <module name="ParameterNumber"/> -->
<!-- Deliberately excluding module: <module name="RecordComponentNumber"/> -->
<!-- WHITESPACE -->
<module name="EmptyForInitializerPad">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="EmptyForIteratorPad">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="EmptyLineSeparator">
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF, RECORD_DEF, COMPACT_CTOR_DEF"/>
<property name="allowMultipleEmptyLines" value="false"/>
<!-- Factory is "true". -->
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
<!-- Factory is "true". -->
<property name="allowNoEmptyLineBetweenFields" value="true"/>
<!-- Factory is "false". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="GenericWhitespace">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="MethodParamPad">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="NoLineWrap">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="NoWhitespaceAfter">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="NoWhitespaceBefore">
<property name="allowLineBreaks" value="true"/>
<!-- Factory is "false". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF, "/>
</module>
<module name="NoWhitespaceBeforeCaseDefaultColon">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="OperatorWrap">
<property name="option" value="nl"/>
<!-- Factory is "nl". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" QUESTION, COLON, EQUAL, NOT_EQUAL, DIV, PLUS, MINUS, STAR, MOD, SR, BSR, GE, GT, SL, LE, LT, BXOR, BOR, LOR, BAND, LAND, LITERAL_INSTANCEOF, TYPE_EXTENSION_AND, ASSIGN, DIV_ASSIGN, PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, MOD_ASSIGN, SR_ASSIGN, BSR_ASSIGN, SL_ASSIGN, BXOR_ASSIGN, BOR_ASSIGN, BAND_ASSIGN, METHOD_REF, "/>
<!-- All tokens are chosen; factory is a proper subset of these. -->
</module>
<module name="ParenPad">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrap_eol"/>
<property name="option" value="eol"/>
<!-- Factory is "eol". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" COMMA, SEMI, ELLIPSIS, ARRAY_DECLARATOR, "/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrap_nl"/>
<property name="option" value="nl"/>
<!-- Factory is "eol". -->
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
<property name="tokens" value=" DOT, AT, METHOD_REF, "/>
</module>
<!-- Deliberately excluding module: <module name="SingleSpaceSeparator"/> -->
<module name="TypecastParenPad">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyLambdas" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<property name="ignoreEnhancedForColon" value="false"/>
<property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, 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, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>
<message key="ws.notFollowed" value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded" value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="WhitespaceAround">
<property name="severity" value="${checkstyle.group.formatting.severity}" default="error"/>
</module>
<module name="SuppressionXpathSingleFilter">
<!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 -->
<property name="id" value="RightCurlyAlone"/>
<property name="query" value="//RCURLY[parent::SLIST[count(./*)=1] or preceding-sibling::*[last()][self::LCURLY]]"/>
</module>
</module>
</module>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment