forked from kaboomserver/extras
521 lines
22 KiB
XML
521 lines
22 KiB
XML
<?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">
|
|
<!--
|
|
If you set the basedir property below, then all reported file
|
|
names will be relative to the specified directory. See
|
|
https://checkstyle.org/config.html#Checker
|
|
|
|
<property name="basedir" value="${basedir}"/>
|
|
-->
|
|
|
|
<metadata name="org.checkstyle.principle" value="Practice What You Preach"/>
|
|
<metadata name="org.checkstyle.principle.description"
|
|
value="In our config we should use all Checks that Checkstyle has"/>
|
|
|
|
<property name="cacheFile" value="${checkstyle.cache.file}"/>
|
|
|
|
<property name="severity" value="error"/>
|
|
|
|
<property name="fileExtensions" value="java, properties, xml, vm, g, g4, dtd"/>
|
|
|
|
<!-- BeforeExecutionFileFilters is required for sources that are based on java9 -->
|
|
<module name="BeforeExecutionExclusionFileFilter">
|
|
<property name="fileNamePattern" value="module\-info\.java$" />
|
|
</module>
|
|
|
|
<!-- Filters -->
|
|
<module name="SeverityMatchFilter">
|
|
<!-- report all violations except ignore -->
|
|
<property name="severity" value="ignore"/>
|
|
<property name="acceptOnMatch" value="false"/>
|
|
</module>
|
|
<module name="SuppressWithPlainTextCommentFilter">
|
|
<!--
|
|
Use suppressions.xml for suppressions, this is only example.
|
|
checkFormat will prevent suppression comments from being valid.
|
|
-->
|
|
<property name="checkFormat" value="IGNORETHIS"/>
|
|
<property name="offCommentFormat" value="CSOFF\: .*"/>
|
|
<property name="onCommentFormat" value="CSON\: .*"/>
|
|
</module>
|
|
|
|
<!-- Miscellaneous -->
|
|
<module name="NewlineAtEndOfFile"/>
|
|
<module name="Translation">
|
|
<property name="requiredTranslations" value="de, fr, fi, es, pt, ja, tr, zh"/>
|
|
</module>
|
|
<module name="UniqueProperties"/>
|
|
|
|
<!-- Regexp -->
|
|
<module name="RegexpMultiline"/>
|
|
<module name="RegexpMultiline">
|
|
<property name="format" value="\r?\n[\t ]*\r?\n[\t ]*\r?\n"/>
|
|
<property name="fileExtensions" value="java,xml,properties"/>
|
|
<property name="message" value="Unnecessary consecutive lines"/>
|
|
</module>
|
|
<module name="RegexpMultiline">
|
|
<property name="format" value="/\*\*\W+\* +\p{javaLowerCase}"/>
|
|
<property name="fileExtensions" value="java"/>
|
|
<property name="message"
|
|
value="First sentence in a comment should start with a capital letter"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="format" value="\s+$"/>
|
|
<property name="minimum" value="0"/>
|
|
<property name="maximum" value="0"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="format" value="/\*\* +\p{javaLowerCase}"/>
|
|
<property name="fileExtensions" value="java"/>
|
|
<property name="message"
|
|
value="First sentence in a comment should start with a capital letter"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="format" value="^(?!(.*http|import)).{101,}$"/>
|
|
<property name="fileExtensions" value="g, g4"/>
|
|
<property name="message" value="Line should not be longer than 100 symbols"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="format" value="^(?!(\s*<a href="[^"]+">|.*http)).{101,}$"/>
|
|
<property name="fileExtensions" value="xml, vm"/>
|
|
<property name="message" value="Line should not be longer than 100 symbols"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="id" value="noSourceforgeNetLinks"/>
|
|
<property name="format" value="checkstyle\.sourceforge\.net"/>
|
|
<property name="message"
|
|
value="Old site links should not be used, please use https://checkstyle.org"/>
|
|
</module>
|
|
<module name="RegexpSingleline">
|
|
<property name="id" value="noSourceforgeIoLinks"/>
|
|
<property name="format" value="checkstyle\.sourceforge\.io"/>
|
|
<property name="message"
|
|
value="Old site links should not be used, please use https://checkstyle.org"/>
|
|
</module>
|
|
<module name="RegexpOnFilename" />
|
|
<module name="RegexpOnFilename">
|
|
<property name="folderPattern" value="[\\/]src[\\/]\w+[\\/]java[\\/]"/>
|
|
<property name="fileNamePattern" value="\.java$"/>
|
|
<property name="match" value="false"/>
|
|
<message key="regexp.filepath.mismatch"
|
|
value="Only java files should be located in the ''src/*/java'' folders."/>
|
|
</module>
|
|
<module name="RegexpOnFilename">
|
|
<property name="folderPattern" value="[\\/]src[\\/]xdocs[\\/]"/>
|
|
<property name="fileNamePattern" value="\.(xml)|(vm)$"/>
|
|
<property name="match" value="false"/>
|
|
<message key="regexp.filepath.mismatch"
|
|
value="All files in the ''src/xdocs'' folder should have the ''xml'' or ''vm'' extension."/>
|
|
</module>
|
|
<module name="RegexpOnFilename">
|
|
<property name="folderPattern" value="[\\/]src[\\/]it[\\/]java[\\/]"/>
|
|
<property name="fileNamePattern" value="^((\w+Test)|(\w+TestSupport)|(Abstract\w+))\.java$"/>
|
|
<property name="match" value="false"/>
|
|
<message key="regexp.filepath.mismatch"
|
|
value="All files in the ''src/it/java'' folder
|
|
should be named ''*Test.java'' or ''Abstract*.java''."/>
|
|
</module>
|
|
|
|
<!-- Size Violations -->
|
|
<module name="FileLength">
|
|
<property name="fileExtensions" value="java"/>
|
|
</module>
|
|
|
|
<!-- Whitespace -->
|
|
<module name="TreeWalker">
|
|
<property name="tabWidth" value="4"/>
|
|
|
|
<!-- Annotations -->
|
|
<module name="AnnotationLocation">
|
|
<property name="tokens" value="ANNOTATION_DEF"/>
|
|
<property name="tokens" value="ANNOTATION_FIELD_DEF"/>
|
|
<property name="tokens" value="PACKAGE_DEF"/>
|
|
<property name="tokens" value="ENUM_CONSTANT_DEF"/>
|
|
<property name="tokens" value="VARIABLE_DEF"/>
|
|
<property name="allowSamelineSingleParameterlessAnnotation" value="false"/>
|
|
</module>
|
|
<module name="AnnotationOnSameLine">
|
|
<!-- we can not use it as it conflicts with AnnotationLocation -->
|
|
<property name="severity" value="ignore"/>
|
|
<property name="tokens" value="METHOD_DEF"/>
|
|
<property name="tokens" value="CTOR_DEF"/>
|
|
<property name="tokens" value="TYPECAST"/>
|
|
<property name="tokens" value="DOT"/>
|
|
<property name="tokens" value="CLASS_DEF"/>
|
|
<property name="tokens" value="ENUM_DEF"/>
|
|
<property name="tokens" value="INTERFACE_DEF"/>
|
|
<property name="tokens" value="TYPE_ARGUMENT"/>
|
|
<property name="tokens" value="ANNOTATION_DEF"/>
|
|
<property name="tokens" value="LITERAL_NEW"/>
|
|
<property name="tokens" value="LITERAL_THROWS"/>
|
|
<property name="tokens" value="VARIABLE_DEF"/>
|
|
<property name="tokens" value="PARAMETER_DEF"/>
|
|
<property name="tokens" value="IMPLEMENTS_CLAUSE"/>
|
|
<property name="tokens" value="ANNOTATION_FIELD_DEF"/>
|
|
</module>
|
|
<module name="AnnotationUseStyle"/>
|
|
<module name="MissingDeprecated"/>
|
|
<module name="MissingOverride"/>
|
|
<module name="PackageAnnotation"/>
|
|
<module name="SuppressWarnings">
|
|
<property name="format" value="^((?!unchecked|deprecation|rawtypes|resource).)*$"/>
|
|
<message key="suppressed.warning.not.allowed"
|
|
value="The warning ''{0}'' cannot be suppressed at this location.
|
|
Only few javac warnings are allowed to suppress.
|
|
If try to suppress checkstyle/pmd/..... violation please do this in their config file.
|
|
If you try to suppress IntelliJ IDEA inspection,
|
|
please use javadoc block tag @noinspection"
|
|
/>
|
|
</module>
|
|
<module name="SuppressWarningsHolder"/>
|
|
|
|
<!-- Block Checks -->
|
|
<module name="AvoidNestedBlocks">
|
|
<property name="allowInSwitchCase" value="true"/>
|
|
</module>
|
|
<module name="NeedBraces"/>
|
|
<module name="NeedBraces">
|
|
<property name="tokens" value="LAMBDA"/>
|
|
<property name="allowSingleLineStatement" value="true"/>
|
|
</module>
|
|
|
|
<!-- Class Design -->
|
|
<module name="DesignForExtension">
|
|
<property name="ignoredAnnotations"
|
|
value="Override, Test, Before, After, BeforeClass, AfterClass"/>
|
|
</module>
|
|
<module name="FinalClass"/>
|
|
<module name="HideUtilityClassConstructor"/>
|
|
<module name="InnerTypeLast"/>
|
|
<module name="InterfaceIsType"/>
|
|
<module name="MutableException"/>
|
|
<module name="OneTopLevelClass"/>
|
|
<module name="ThrowsCount">
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
<module name="VisibilityModifier"/>
|
|
|
|
<!-- Coding -->
|
|
<module name="ArrayTrailingComma"/>
|
|
<module name="AvoidInlineConditionals"/>
|
|
<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="FinalLocalVariable"/>
|
|
<module name="HiddenField">
|
|
<property name="ignoreConstructorParameter" value="true"/>
|
|
<property name="ignoreSetter" value="true"/>
|
|
<property name="setterCanReturnItsClass" value="true"/>
|
|
</module>
|
|
<module name="IllegalInstantiation">
|
|
<property name="classes"
|
|
value="org.xml.sax.SAXException, org.xml.sax.SAXParseException,
|
|
org.apache.commons.beanutils.ConversionException,
|
|
org.antlr.v4.runtime.misc.ParseCancellationException,
|
|
antlr.RecognitionException, antlr.TokenStreamException,
|
|
antlr.TokenStreamRecognitionException, antlr.ANTLRException,
|
|
java.lang.StringBuffer"/>
|
|
</module>
|
|
<module name="IllegalThrows"/>
|
|
<module name="IllegalToken">
|
|
<property name="tokens" value="LABELED_STAT"/>
|
|
<property name="tokens" value="LITERAL_NATIVE"/>
|
|
<property name="tokens" value="LITERAL_VOLATILE"/>
|
|
<property name="tokens" value="LITERAL_ASSERT"/>
|
|
</module>
|
|
<module name="IllegalTokenText">
|
|
<property name="tokens" value="STRING_LITERAL"/>
|
|
<property name="format" value="^(US-ASCII|ISO-8859-1|UTF-8|UTF-16BE|UTF-16LE|UTF-16)$"/>
|
|
<property name="ignoreCase" value="true"/>
|
|
</module>
|
|
<module name="IllegalType">
|
|
<property name="illegalClassNames"
|
|
value="java.util.HashSet, HashSet, java.util.LinkedHashMap, LinkedHashMap,
|
|
java.util.TreeMap, TreeMap, java.util.HashMap, HashMap,
|
|
java.util.LinkedHashSet, LinkedHashSet, java.util.TreeSet, TreeSet,
|
|
java.lang.StringBuffer, StringBuffer"/>
|
|
</module>
|
|
<module name="InnerAssignment"/>
|
|
<module name="MissingCtor">
|
|
<!--
|
|
we will not use that fanatic validation, extra code is not good
|
|
But this Check will exists as it was created by community demand.
|
|
-->
|
|
<property name="severity" value="ignore"/>
|
|
</module>
|
|
<module name="MissingSwitchDefault"/>
|
|
<module name="ModifiedControlVariable"/>
|
|
<module name="MultipleVariableDeclarations"/>
|
|
<module name="NestedForDepth">
|
|
<property name="max" value="2"/>
|
|
</module>
|
|
<module name="NestedIfDepth">
|
|
<property name="max" value="3"/>
|
|
</module>
|
|
<module name="NestedTryDepth"/>
|
|
<module name="NoClone"/>
|
|
<module name="NoFinalizer"/>
|
|
<module name="OneStatementPerLine"/>
|
|
<module name="OverloadMethodsDeclarationOrder"/>
|
|
<module name="PackageDeclaration"/>
|
|
<module name="ParameterAssignment"/>
|
|
<module name="RequireThis"/>
|
|
<module name="ReturnCount">
|
|
<property name="max" value="1"/>
|
|
<property name="maxForVoid" value="0"/>
|
|
</module>
|
|
<module name="SimplifyBooleanExpression"/>
|
|
<module name="SimplifyBooleanReturn"/>
|
|
<module name="StringLiteralEquality"/>
|
|
<module name="SuperClone"/>
|
|
<module name="SuperFinalize"/>
|
|
<module name="UnnecessaryParentheses"/>
|
|
<module name="VariableDeclarationUsageDistance"/>
|
|
|
|
<!-- Filters-->
|
|
<module name="SuppressionCommentFilter">
|
|
<!--
|
|
Use suppressions.xml for suppressions, this is only example.
|
|
checkFormat will prevent suppression comments from being valid.
|
|
-->
|
|
<property name="checkFormat" value="IGNORETHIS"/>
|
|
<property name="offCommentFormat" value="CSOFF\: .*"/>
|
|
<property name="onCommentFormat" value="CSON\: .*"/>
|
|
</module>
|
|
<!-- Tone down the checking for test code -->
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value="[\\/]internal[\\/].*[\\/]\w+Util\.java"/>
|
|
<property name="checks" value="IllegalCatch"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/]test[\\/]"/>
|
|
<property name="checks" value="EmptyBlock"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="JavadocVariable"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="JavadocType"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="MagicNumber"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="AvoidStaticImport"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="WriteTag"/>
|
|
</module>
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="MethodCount"/>
|
|
</module>
|
|
<!-- Fixing these cases will decrease code readability -->
|
|
<module name="SuppressionXpathSingleFilter">
|
|
<property name="files" value=".*[\\/]src[\\/](test|it)[\\/]"/>
|
|
<property name="checks" value="MultipleStringLiterals"/>
|
|
</module>
|
|
<module name="SuppressWithNearbyCommentFilter">
|
|
<property name="commentFormat"
|
|
value="-@cs\[(\w{8,}(\|\w{8,})*)\] \w[\(\)\-\.\'\`\,\:\;\w ]{10,}"/>
|
|
<property name="checkFormat" value="$1"/>
|
|
<property name="influenceFormat" value="3"/>
|
|
</module>
|
|
|
|
<!-- Imports -->
|
|
<module name="AvoidStarImport"/>
|
|
<module name="AvoidStaticImport"/>
|
|
<module name="CustomImportOrder">
|
|
<property name="customImportOrderRules"
|
|
value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS"/>
|
|
<property name="specialImportsRegExp" value="^org\."/>
|
|
<property name="sortImportsInGroupAlphabetically" value="true"/>
|
|
<property name="separateLineBetweenGroups" value="true"/>
|
|
</module>
|
|
<module name="IllegalImport"/>
|
|
<module name="ImportOrder">
|
|
<property name="groups" value="/^java\./,javax,org"/>
|
|
<property name="ordered" value="true"/>
|
|
<property name="separated" value="true"/>
|
|
<property name="option" value="top"/>
|
|
<property name="sortStaticImportsAlphabetically" value="true"/>
|
|
</module>
|
|
<module name="RedundantImport"/>
|
|
<module name="UnusedImports"/>
|
|
|
|
<!-- Metrics -->
|
|
<module name="BooleanExpressionComplexity">
|
|
<property name="max" value="7"/>
|
|
</module>
|
|
<module name="ClassDataAbstractionCoupling">
|
|
<!-- Default classes are also listed-->
|
|
<property name="excludedClasses"
|
|
value="boolean, byte, char, double, float, int, long, short, void,
|
|
Boolean, Byte, Character, Double, Float, Integer, Long, Short, Void,
|
|
Object, Class, String, StringBuffer, StringBuilder,
|
|
ArrayIndexOutOfBoundsException, Exception, RuntimeException,
|
|
IllegalArgumentException, IllegalStateException,
|
|
IndexOutOfBoundsException, NullPointerException, Throwable,
|
|
SecurityException, UnsupportedOperationException, List, ArrayList,
|
|
Deque, Queue, LinkedList, Set, HashSet, SortedSet, TreeSet, Map,
|
|
HashMap, SortedMap, TreeMap, DetailsAST,
|
|
UnsupportedEncodingException, BuildException, ConversionException,
|
|
FileNotFoundException, TestException"/>
|
|
</module>
|
|
<module name="NPathComplexity"/>
|
|
|
|
<!-- Misc -->
|
|
<module name="ArrayTypeStyle"/>
|
|
<module name="AvoidEscapedUnicodeCharacters">
|
|
<property name="allowIfAllCharactersEscaped" value="true"/>
|
|
</module>
|
|
<module name="CommentsIndentation"/>
|
|
<module name="DescendantToken"/>
|
|
<module name="FinalParameters">
|
|
<!--
|
|
we will not use that fanatic validation, extra modifiers pollute a code
|
|
it is better to use extra validation(Check) that argument is reassigned
|
|
But this Check will exists as it was created by community demand.
|
|
-->
|
|
<property name="severity" value="ignore"/>
|
|
</module>
|
|
<module name="Indentation">
|
|
<property name="basicOffset" value="4"/>
|
|
<property name="braceAdjustment" value="0"/>
|
|
<property name="caseIndent" value="4"/>
|
|
<property name="throwsIndent" value="8"/>
|
|
</module>
|
|
<module name="OuterTypeFilename"/>
|
|
<module name="TodoComment">
|
|
<property name="format" value="(TODO)|(FIXME)" />
|
|
</module>
|
|
<module name="TrailingComment"/>
|
|
<module name="UncommentedMain">
|
|
<property name="excludedClasses" value="\.(Main|JavadocPropertiesGenerator)$"/>
|
|
</module>
|
|
<module name="UpperEll"/>
|
|
|
|
<!-- Modifiers -->
|
|
<module name="ClassMemberImpliedModifier">
|
|
<!-- effectively the opposite of RedundantModifier, so output must be ignored -->
|
|
<property name="severity" value="ignore"/>
|
|
</module>
|
|
<module name="InterfaceMemberImpliedModifier">
|
|
<!-- effectively the opposite of RedundantModifier, so output must be ignored -->
|
|
<property name="severity" value="ignore"/>
|
|
</module>
|
|
<module name="ModifierOrder"/>
|
|
<module name="RedundantModifier"/>
|
|
|
|
<!-- Naming Conventions -->
|
|
<module name="AbstractClassName"/>
|
|
<module name="ClassTypeParameterName"/>
|
|
<module name="ConstantName"/>
|
|
<module name="InterfaceTypeParameterName"/>
|
|
<module name="LocalFinalVariableName"/>
|
|
<module name="LocalVariableName">
|
|
<property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
|
|
<property name="allowOneCharVarInForLoop" value="true"/>
|
|
</module>
|
|
<module name="MemberName">
|
|
<property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
|
|
</module>
|
|
<module name="MethodName"/>
|
|
<module name="MethodTypeParameterName"/>
|
|
<module name="PackageName"/>
|
|
<module name="ParameterName">
|
|
<property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
|
|
<property name="ignoreOverridden" value="true"/>
|
|
</module>
|
|
<module name="LambdaParameterName">
|
|
<property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
|
|
</module>
|
|
<module name="CatchParameterName">
|
|
<property name="format" value="^(ex|[a-z][a-z][a-zA-Z]+)$"/>
|
|
</module>
|
|
<module name="StaticVariableName">
|
|
<property name="format" value="^(id)|([a-z][a-z0-9][a-zA-Z0-9]+)$"/>
|
|
</module>
|
|
<module name="TypeName"/>
|
|
|
|
<!-- Regexp -->
|
|
<module name="Regexp"/>
|
|
<module name="RegexpSinglelineJava"/>
|
|
<module name="RegexpSinglelineJava">
|
|
<property name="format" value="[^\p{ASCII}]"/>
|
|
<property name="ignoreComments" value="true"/>
|
|
</module>
|
|
|
|
<!-- Size Violations -->
|
|
<module name="AnonInnerLength"/>
|
|
<module name="ExecutableStatementCount">
|
|
<property name="max" value="30"/>
|
|
</module>
|
|
<module name="MethodCount">
|
|
<property name="maxTotal" value="34"/>
|
|
</module>
|
|
<module name="MethodLength"/>
|
|
<module name="OuterTypeNumber"/>
|
|
<module name="ParameterNumber"/>
|
|
|
|
<!-- Whitespace -->
|
|
<module name="EmptyForInitializerPad"/>
|
|
<module name="EmptyForIteratorPad"/>
|
|
<module name="EmptyLineSeparator">
|
|
<property name="allowNoEmptyLineBetweenFields" value="true"/>
|
|
<property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/>
|
|
</module>
|
|
<module name="GenericWhitespace"/>
|
|
<module name="MethodParamPad"/>
|
|
<module name="NoLineWrap"/>
|
|
<module name="NoWhitespaceAfter">
|
|
<property name="tokens" value="ARRAY_INIT"/>
|
|
<property name="tokens" value="AT"/>
|
|
<property name="tokens" value="BNOT"/>
|
|
<property name="tokens" value="DEC"/>
|
|
<property name="tokens" value="DOT"/>
|
|
<property name="tokens" value="INC"/>
|
|
<property name="tokens" value="LNOT"/>
|
|
<property name="tokens" value="UNARY_MINUS"/>
|
|
<property name="tokens" value="UNARY_PLUS"/>
|
|
<property name="tokens" value="ARRAY_DECLARATOR"/>
|
|
<property name="tokens" value="INDEX_OP"/>
|
|
<property name="tokens" value="METHOD_REF"/>
|
|
</module>
|
|
<module name="NoWhitespaceBefore"/>
|
|
<module name="NoWhitespaceBefore">
|
|
<property name="tokens" value="DOT"/>
|
|
<property name="tokens" value="METHOD_REF"/>
|
|
<property name="allowLineBreaks" value="true"/>
|
|
</module>
|
|
<module name="ParenPad"/>
|
|
<module name="SeparatorWrap">
|
|
<property name="tokens" value="DOT"/>
|
|
<property name="tokens" value="AT"/>
|
|
<property name="tokens" value="METHOD_REF"/>
|
|
<property name="option" value="nl"/>
|
|
</module>
|
|
<module name="SingleSpaceSeparator">
|
|
<property name="validateComments" value="false"/>
|
|
</module>
|
|
<module name="TypecastParenPad"/>
|
|
<module name="WhitespaceAfter"/>
|
|
<module name="WhitespaceAround"/>
|
|
|
|
</module>
|
|
|
|
</module>
|