2017-03-29 20:15:44 +02:00
<?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE module PUBLIC
2019-06-01 17:08:30 +02:00
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
2017-03-29 20:15:44 +02:00
<!--
Based on the Google Java Style Guide: https://google.github.io/styleguide/javaguide.html
-->
<module name = "Checker" >
<property name= "charset" value= "UTF-8" />
<property name= "severity" value= "error" />
<property name= "fileExtensions" value= "java, properties, xml" />
<module name= "TreeWalker" >
<!-- Tab indentation -->
<module name= "RegexpSinglelineJava" >
<property name= "format" value= "^\t* +\t*\S" />
<property name= "message" value= "Line has leading space characters; indentation should be performed with tabs only." />
<property name= "ignoreComments" value= "true" />
</module>
<property name= "tabWidth" value= "4" />
<module name= "OuterTypeFilename" />
<module name= "IllegalTokenText" >
<property name= "tokens" value= "STRING_LITERAL, CHAR_LITERAL" />
<property name= "format" value= "\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)" />
<property name= "message" value= "Consider using special escape sequence instead of octal value or Unicode escaped value." />
</module>
<module name= "AvoidEscapedUnicodeCharacters" >
<property name= "allowEscapesForControlCharacters" value= "true" />
<property name= "allowByTailComment" value= "true" />
<property name= "allowNonPrintableEscapes" value= "true" />
</module>
<module name= "AvoidStarImport" />
<module name= "OneTopLevelClass" />
<module name= "NoLineWrap" />
<module name= "EmptyBlock" >
<property name= "option" value= "TEXT" />
<property name= "tokens" value= "LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH" />
</module>
<module name= "NeedBraces" />
2019-06-01 17:08:30 +02:00
<module name= "LeftCurly" />
2017-03-29 20:15:44 +02:00
<module name= "RightCurly" >
<property name= "id" value= "RightCurlySame" />
<property name= "tokens" value= "LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_DO" />
</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" />
</module>
<module name= "WhitespaceAround" >
<property name= "allowEmptyConstructors" value= "true" />
<property name= "allowEmptyMethods" value= "true" />
<property name= "allowEmptyTypes" value= "true" />
<property name= "allowEmptyLoops" value= "true" />
<property name= "tokens" value= "ASSIGN, ARRAY_INIT, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAMBDA, LAND, LCURLY, LE, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_RETURN, 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= "OneStatementPerLine" />
<module name= "ArrayTypeStyle" />
<module name= "MissingSwitchDefault" />
<module name= "FallThrough" />
<module name= "UpperEll" />
<module name= "ModifierOrder" />
<module name= "EmptyLineSeparator" >
<property name= "allowNoEmptyLineBetweenFields" value= "true" />
</module>
<module name= "SeparatorWrap" >
<property name= "id" value= "SeparatorWrapDot" />
<property name= "tokens" value= "DOT" />
<property name= "option" value= "nl" />
</module>
<module name= "SeparatorWrap" >
<property name= "id" value= "SeparatorWrapComma" />
<property name= "tokens" value= "COMMA" />
<property name= "option" value= "EOL" />
</module>
<module name= "PackageName" >
<property name= "format" value= "^[a-z]+(\.[a-z][a-z0-9]*)*$" />
<message key= "name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "TypeName" >
2017-11-26 16:01:05 +01:00
<property name= "format" value= "^[A-Z][a-zA-Z0-9_]*$" />
2017-03-29 20:15:44 +02:00
<message key= "name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "MemberName" >
<property name= "format" value= "^[a-z][a-z0-9][a-zA-Z0-9]*$" />
<message key= "name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "ParameterName" >
<property name= "format" value= "^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
<message key= "name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "CatchParameterName" >
<property name= "format" value= "^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
<message key= "name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "LocalVariableName" >
<property name= "tokens" value= "VARIABLE_DEF" />
<property name= "format" value= "^[a-z]([a-z0-9][a-zA-Z0-9]*)?$" />
<message key= "name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "ClassTypeParameterName" >
<property name= "format" value= "(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key= "name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "MethodTypeParameterName" >
<property name= "format" value= "(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key= "name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "InterfaceTypeParameterName" >
<property name= "format" value= "(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" />
<message key= "name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name= "NoFinalizer" />
<module name= "GenericWhitespace" >
<message key= "ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key= "ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key= "ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key= "ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name= "Indentation" >
<property name= "basicOffset" value= "4" />
<property name= "braceAdjustment" value= "0" />
<property name= "caseIndent" value= "4" />
<property name= "throwsIndent" value= "4" />
<property name= "lineWrappingIndentation" value= "4" />
<property name= "arrayInitIndent" value= "2" />
</module>
<module name= "AbbreviationAsWordInName" >
<property name= "ignoreFinal" value= "false" />
<property name= "allowedAbbreviationLength" value= "1" />
</module>
<module name= "OverloadMethodsDeclarationOrder" />
<module name= "MethodParamPad" />
<module name= "OperatorWrap" >
<property name= "option" value= "NL" />
<property name= "tokens" value= "BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF " />
</module>
<module name= "AnnotationLocation" >
<property name= "id" value= "AnnotationLocationMostCases" />
<property name= "tokens" value= "CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF" />
</module>
<module name= "AnnotationLocation" >
<property name= "id" value= "AnnotationLocationVariables" />
<property name= "tokens" value= "VARIABLE_DEF" />
<property name= "allowSamelineMultipleAnnotations" value= "true" />
</module>
<module name= "NonEmptyAtclauseDescription" />
<module name= "JavadocTagContinuationIndentation" />
<!-- Add dot to javadoc: search: "(\t*\* [^@\n\.]+)\n", replace: "$1.\n" -->
<module name= "SummaryJavadoc" >
<property name= "forbiddenSummaryFragments" value= "^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )" />
</module>
<module name= "JavadocParagraph" />
<module name= "AtclauseOrder" >
<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= "JavadocMethod" >
<property name= "scope" value= "protected" />
<property name= "minLineCount" value= "2" />
2018-01-22 18:12:15 +01:00
<property name= "allowedAnnotations" value= "Override, Test, EventHandler" />
2017-03-29 20:15:44 +02:00
<property name= "allowThrowsTagsForSubclasses" value= "true" />
</module>
<module name= "MethodName" >
<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= "SingleLineJavadoc" >
<property name= "ignoreInlineTags" value= "false" />
</module>
<module name= "EmptyCatchBlock" >
<property name= "exceptionVariableName" value= "expected" />
</module>
<module name= "CommentsIndentation" />
<module name= "MissingOverride" />
</module>
2018-01-22 18:12:15 +01:00
</module>