<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> <module name="Checker"> <!-- <property name="checkstyle.ignoreCustomKieker" value=""/> --> <!-- KIEKER default is warning instead of error --> <property name="severity" value="error"/> <!-- KIEKER Filter --> <module name="SuppressWithNearbyCommentFilter"> <property name="commentFormat" value="NOCS"/> <property name="checkFormat" value=".*"/> <property name="influenceFormat" value="0"/> </module> <!-- 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="localeCountry" value=""/> JVM locale country <property name="localeLanguage" value=""/> JVM locale language <property name="charset" value=""/> JVM file.encoding property !--> <!-- !________________________________________________________________________________________ ! ! D U P L I C A T E S !________________________________________________________________________________________ !--> <!-- Performs a line-by-line comparison of all code lines and reports duplicate code. !--> <!-- See http://checkstyle.sf.net/config_duplicates.html !--> <!-- KIEKER Does not work with headers!! <module name="StrictDuplicateCode"> <property name="min" value="12"/> <property name="fileExtensions" value=""/> </module> --> <!-- !________________________________________________________________________________________ ! ! H E A D E R S !________________________________________________________________________________________ !--> <!-- NOTE: You may enable zero or one of these header checks, but not both. !--> <!-- Checks that a source file begins with a specified header. !--> <!-- See http://checkstyle.sf.net/config_header.html !--> <!-- KIEKER !--> <!-- <module name="Header"> --> <!-- <property name="headerFile" value=""/> --> <!-- <property name="charset" value=""/> --> <!-- <property name="header" value="/***************************************************************************\n * Copyright 2013 Kieker Project (http://kieker-monitoring.net)\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n ***************************************************************************/\n"/> --> <!-- <property name="ignoreLines" value="2"/> --> <!-- <property name="fileExtensions" value="java"/> --> <!-- </module> --> <!-- Checks the header of a source file against a header file that contains a regular expression !--> <!-- for each line of the source header. !--> <!-- See http://checkstyle.sf.net/config_header.html !--> <!-- Default: OFF <module name="RegexpHeader"> <property name="headerFile" value=""/> <property name="charset" value=""/> <property name="header" value=""/> <property name="multiLines" value=""/> <property name="fileExtensions" value=""/> </module> !--> <!-- !________________________________________________________________________________________ ! ! J A V A D O C S !________________________________________________________________________________________ !--> <!-- Checks that each Java package has a Javadoc file used for commenting. !--> <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#JavadocPackage !--> <!-- KIEKER: OFF <module name="JavadocPackage"> <property name="severity" value="info"/> <property name="allowLegacy" value="false"/> </module> !--> <!-- !________________________________________________________________________________________ ! ! R E G E X P !________________________________________________________________________________________ !--> <!-- A check for detecting that matches across multiple lines. Works with any file type. !--> <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpMultiline !--> <!-- Default: OFF <module name="RegexpMultiline"> <property name="format" value=""/> <property name="message" value=""/> <property name="ignoreCase" value="false"/> <property name="minimum" value="0"/> <property name="maximum" value="0"/> <property name="fileExtensions" value=""/> </module> !--> <!-- A check for detecting single lines that match a supplied regular expression. Works with any file type. !--> <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSingleline !--> <!-- Default: OFF <module name="RegexpSingleline"> <property name="format" value="\s+$"/> <property name="message" value=""/> <property name="ignoreCase" value="false"/> <property name="minimum" value="0"/> <property name="maximum" value="0"/> <property name="fileExtensions" value=""/> </module> !--> <!-- !________________________________________________________________________________________ ! ! M I S C E L L A N E O U S !________________________________________________________________________________________ !--> <!-- Checks whether files end with a new line. !--> <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile !--> <module name="NewlineAtEndOfFile"> <property name="lineSeparator" value="system"/> <property name="fileExtensions" value="*.*"/> </module> <!-- Checks that property files contain the same keys. !--> <!-- See http://checkstyle.sf.net/config_misc.html#Translation !--> <module name="Translation"> <property name="fileExtensions" value="properties"/> </module> <!-- !________________________________________________________________________________________ ! ! S I Z E V I O L A T I O N S !________________________________________________________________________________________ !--> <!-- Checks for long source files. !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <module name="FileLength"> <property name="max" value="2000"/> <property name="fileExtensions" value="java"/> </module> <!-- !________________________________________________________________________________________ ! ! W H I T E S P A C E !________________________________________________________________________________________ !--> <!-- Checks that there are no tab characters ('\t') in the source code. !--> <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#FileTabCharacter !--> <!-- KIEKER we use TABs <module name="FileTabCharacter"> <property name="eachLine" value="false"/> <property name="fileExtensions" value=""/> </module> --> <module name="TreeWalker"> <property name="tabWidth" value="4"/> <module name="FileContentsHolder"/> <!-- !________________________________________________________________________________________ ! ! A N N O T A T I O N S !________________________________________________________________________________________ !--> <!-- This check controls the usage style of annotations. !--> <!-- See http://checkstyle.sourceforge.net/config_annotation.html#AnnotationUseStyle !--> <module name ="AnnotationUseStyle"> <property name="elementStyle" value="compact_no_array"/> <property name="closingParens" value="never"/> <property name="trailingArrayComma" value="never"/> </module> <!-- Verifies that both the java.lang.Deprecated import is present and the @deprecated Javadoc tag is present when either is present. !--> <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated !--> <module name="MissingDeprecated"> <property name="severity" value="info"/> </module> <!-- Verifies that the java.lang.Override annotation is present when the {@inheritDoc} javadoc tag is present. !--> <!-- See http://checkstyle.sourceforge.net/config_annotation.html#MissingOverride !--> <!-- problems with Java 1.5 <module name="MissingOverride"> <property name="javaFiveCompatibility" value="false"/> </module> --> <!-- This check makes sure that all package annotations are in the package-info.java file. !--> <!-- See http://checkstyle.sourceforge.net/config_annotation.html#PackageAnnotation !--> <module name="PackageAnnotation"/> <!-- This check allows you to specify what warnings that SuppressWarnings is not allowed to suppress. !--> <!-- You can also specify a list of TokenTypes that the configured warning(s) cannot be suppressed on. !--> <!-- See http://checkstyle.sourceforge.net/config_annotation.html#SuppressWarnings !--> <module name="SuppressWarnings"> <property name="format" value="^$|^\s+$"/> <property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, ENUM_CONSTANT_DEF, PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, CTOR_DEF"/> </module> <!-- !________________________________________________________________________________________ ! ! B L O C K S !________________________________________________________________________________________ !--> <!-- Finds nested blocks, i.e. blocks that are used freely in the code. !--> <!-- See http://checkstyle.sf.net/config_blocks.html !--> <module name="AvoidNestedBlocks"> <property name="allowInSwitchCase" value="true"/> </module> <!-- Checks for empty blocks. !--> <!-- See http://checkstyle.sf.net/config_blocks.html !--> <module name="EmptyBlock"> <property name="option" value="stmt"/> <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF, LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/> </module> <!-- Checks for the placement of left curly braces ('{') for code blocks. !--> <!-- See http://checkstyle.sf.net/config_blocks.html !--> <module name="LeftCurly"> <property name="option" value="eol"/> <property name="maxLineLength" value="165"/> <property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF"/> </module> <!-- Checks for braces around code blocks. !--> <!-- See http://checkstyle.sf.net/config_blocks.html !--> <module name="NeedBraces"> <property name="tokens" value="LITERAL_DO, LITERAL_ELSE, LITERAL_IF, LITERAL_FOR, LITERAL_WHILE"/> </module> <!-- Checks the placement of right curly braces ('}') for else, try, and catch tokens. !--> <!-- See http://checkstyle.sf.net/config_blocks.html !--> <module name="RightCurly"> <property name="option" value="same"/> <property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE"/> <property name="shouldStartLine" value="true"/> </module> <!-- !________________________________________________________________________________________ ! ! C L A S S D E S I G N !________________________________________________________________________________________ !--> <!-- Checks that classes are designed for extension. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <!-- Default: OFF <module name="DesignForExtension"/> !--> <!-- Checks that a class which has only private constructors is declared as final. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <module name="FinalClass"/> <!-- Make sure that utility classes (classes that contain only static methods) do not have a public constructor. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <module name="HideUtilityClassConstructor"/> <!-- Check nested (internal) classes/interfaces are declared at the bottom of the class after all method and field declarations. !--> <!-- See http://checkstyle.sourceforge.net/config_design.html#InnerTypeLast !--> <module name="InnerTypeLast"/> <!-- Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <module name="InterfaceIsType"> <property name="allowMarkerInterfaces" value="true"/> </module> <!-- Ensures that exceptions (defined as any class name conforming to some regular expression) are immutable. !--> <!-- That is, have only final fields. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <module name="MutableException"> <property name="format" value="^.*Exception$|^.*Error$"/> </module> <!-- Restricts throws statements to a specified count. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <!-- KIEKER off <module name="ThrowsCount"> <property name="max" value="1"/> </module> !--> <!-- Checks visibility of class members. !--> <!-- See http://checkstyle.sf.net/config_design.html !--> <module name="VisibilityModifier"> <property name="packageAllowed" value="false"/> <property name="protectedAllowed" value="true"/> <property name="publicMemberPattern" value="^serialVersionUID$"/> </module> <!-- !________________________________________________________________________________________ ! ! C O D I N G !________________________________________________________________________________________ !--> <!-- Checks that array initialization contains a trailing comma. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="ArrayTrailingComma"/> <!-- Detects inline conditionals. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="AvoidInlineConditionals"/> <!-- Checks that classes that define a covariant equals() method also override method equals(java.lang.Object). !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="CovariantEquals"/> <!-- Checks declaration order according to Code Conventions for the Java Programming Language. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="DeclarationOrder"> <property name="ignoreConstructors" value="false"/> <property name="ignoreMethods" value="false"/> <property name="ignoreModifiers" value="false"/> </module> <!-- Check that the default is after all the cases in a switch statement. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="DefaultComesLast"/> <!-- The "double-checked locking" idiom (DCL) tries to avoid the runtime cost of synchronization. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!--<module name="DoubleCheckedLocking"/>--> <!-- Detects empty statements (standalone ;). !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="EmptyStatement"/> <!-- Checks that any combination of String literals with optional assignment is on the left side of an equals() comparison. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#EqualsAvoidNull !--> <module name="EqualsAvoidNull"/> <!-- Checks that classes that override equals() also override hashCode(). !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="EqualsHashCode"/> <!-- Checks if any class or object member explicitly initialized to default for its type value. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- KIEKER off <module name="ExplicitInitialization"/> !--> <!-- Checks for fall through in switch statements Finds locations where a case contains Java code ... !--> <!-- but lacks a break, return, throw or continue statement. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="FallThrough"> <property name="checkLastCaseGroup" value="false"/> <property name="reliefPattern" value="fallthru|falls??through"/> </module> <!-- Checks that local variables that never have their values changed are declared final. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="FinalLocalVariable"> <property name="tokens" value="VARIABLE_DEF"/> </module> <!-- Checks that a local variable or a parameter does not shadow a field that is defined in the same class. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- KIEKER ignoreConstructorParameter, ignoreSetter --> <module name="HiddenField"> <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF"/> <!-- <property name="ignoreFormat" value=""/> !--> <property name="ignoreConstructorParameter" value="true"/> <property name="ignoreSetter" value="true"/> <property name="ignoreAbstractMethods" value="false"/> </module> <!-- Catching java.lang.Exception, java.lang.Error or java.lang.RuntimeException is almost never acceptable. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="IllegalCatch"> <property name="illegalClassNames" value="java.lang.Exception, java.lang.Throwable, java.lang.RuntimeException"/> </module> <!-- Checks for illegal instantiations where a factory method is preferred. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- KIEKER on for ??? !--> <module name="IllegalInstantiation"> <property name="classes" value="java.lang.Boolean"/> </module> <!-- This check can be used to ensure that types are not declared to be thrown. !--> <!-- Declaring to throw java.lang.Error or java.lang.RuntimeException is almost never acceptable. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#IllegalThrows !--> <module name="IllegalThrows"> <property name="illegalClassNames" value="java.lang.Throwable, java.lang.Error, java.lang.RuntimeException"/> </module> <!-- Checks for illegal tokens. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- KIEKER off <module name="IllegalToken"> <property name="tokens" value="LITERAL_SWITCH, POST_INC, POST_DEC"/> </module> !--> <!-- Checks for illegal token text. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- Default: OFF <module name="IllegalTokenText"> <property name="tokens" value=""/> <property name="format" value=""/> <property name="ignoreCase" value="false"/> <property name="message" value=""/> </module> !--> <!-- Checks that particular classes are never used as types in variable declarations, return values or parameters. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- KIEKER removed format value="^(.*[\\.])?Abstract.*$" !--> <module name="IllegalType"> <property name="tokens" value="PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF"/> <property name="illegalClassNames" value="java.util.GregorianCalendar, java.util.Hashtable, java.util.HashSet, java.util.HashMap, java.util.ArrayList, java.util.LinkedList, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.TreeSet, java.util.TreeMap, java.util.Vector"/> <property name="legalAbstractClassNames" value=""/> <property name="ignoredMethodNames" value="getInitialContext, getEnvironment"/> <property name="format" value="XXX"/> </module> <!-- Checks for assignments in subexpressions, such as in String s = Integer.toString(i = 2);. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="InnerAssignment"> <property name="tokens" value="ASSIGN, BAND_ASSIGN, BOR_ASSIGN, BSR_ASSIGN, BXOR_ASSIGN, DIV_ASSIGN, MINUS_ASSIGN, MOD_ASSIGN, PLUS_ASSIGN, SL_ASSIGN, SR_ASSIGN, STAR_ASSIGN"/> </module> <!-- Ensures that the setUp(), tearDown()methods are named correctly, have no arguments, !--> <!-- return void and are either public or protected. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="JUnitTestCase"/> <!-- Checks that there are no "magic numbers", where a magic number is a numeric literal !--> <!-- that is not defined as a constant. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <!-- deactivated for Kieker <module name="MagicNumber"> <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG"/> <property name="ignoreNumbers" value="-1, 0, 1, 2"/> <property name="ignoreHashCodeMethod" value="false"/> </module> !--> <!-- Checks that classes (except abtract one) define a ctor and don't rely on the default one. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="MissingCtor"/> <!-- Checks that switch statement has "default" clause. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="MissingSwitchDefault"/> <!-- Check for ensuring that for loop control variables are not modified inside the for block. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#ModifiedControlVariable !--> <module name="ModifiedControlVariable"/> <!-- Checks for multiple occurrences of the same string literal within a single file. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#MultipleStringLiterals !--> <!-- KIEKER off for now <module name="MultipleStringLiterals"> <property name="allowedDuplicates" value="1"/> <property name="ignoreStringsRegexp" value='^""$'/> <property name="ignoreOccurrenceContext" value="ANNOTATION"/> </module> !--> <!-- Checks that each variable declaration is in its own statement and on its own line. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="MultipleVariableDeclarations"/> <!-- Restricts nested for blocks to a specified depth. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#NestedForDepth !--> <module name="NestedForDepth"> <property name="max" value="2"/> </module> <!-- Restricts nested if-else blocks to a specified depth. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="NestedIfDepth"> <property name="max" value="3"/> </module> <!-- Restricts nested try-catch blocks to a specified depth. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="NestedTryDepth"> <property name="max" value="1"/> </module> <!-- Checks that the clone method is not overridden from the Object class. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoClone !--> <module name="NoClone"/> <!-- Verifies there are no finalize() methods defined in a class. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#NoFinalizer !--> <module name="NoFinalizer"/> <!-- Checks there is only one statement per line. !--> <!-- See http://checkstyle.sourceforge.net/config_coding.html#OneStatementPerLine !--> <module name="OneStatementPerLine"/> <!-- Ensure a class has a package declaration. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="PackageDeclaration"> <property name="ignoreDirectoryName" value="false"/> </module> <!-- Disallow assignment of parameters. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="ParameterAssignment"/> <!-- Checks for redundant exceptions declared in throws clause such as duplicates, !--> <!-- unchecked exceptions or subclasses of another declared exception. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="RedundantThrows"> <property name="allowUnchecked" value="true"/> <property name="allowSubclasses" value="false"/> <property name="logLoadErrors" value="true"/> <property name="suppressLoadErrors" value="false"/> </module> <!-- Checks that code doesn't rely on the "this." default. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="RequireThis"> <property name="checkFields" value="true"/> <property name="checkMethods" value="true"/> </module> <!-- Restrict the number of return statements. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="ReturnCount"> <property name="max" value="2"/> <property name="format" value=""/> </module> <!-- Checks for overly complicated boolean expressions. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="SimplifyBooleanExpression"/> <!-- Checks for overly complicated boolean return statements. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="SimplifyBooleanReturn"/> <!-- Checks that string literals are not used with == or !=. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="StringLiteralEquality"/> <!-- Checks that an overriding clone() method invokes super.clone(). !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="SuperClone"/> <!-- Checks that an overriding finalize() method invokes super.finalize(). !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="SuperFinalize"/> <!-- Checks for the use of unnecessary parentheses. !--> <!-- See http://checkstyle.sf.net/config_coding.html !--> <module name="UnnecessaryParentheses"/> <!-- !________________________________________________________________________________________ ! ! I M P O R T S !________________________________________________________________________________________ !--> <!-- Checks that there are no import statements that use the * notation. !--> <!-- See http://checkstyle.sf.net/config_import.html !--> <module name="AvoidStarImport"> <property name="excludes" value=""/> <property name="allowClassImports" value="false"/> <property name="allowStaticMemberImports" value="false"/> </module> <!-- Checks that there are no static import statements. !--> <!-- See http://checkstyle.sourceforge.net/config_imports.html#AvoidStaticImport !--> <module name="AvoidStaticImport"> <property name="excludes" value=""/> </module> <!-- Checks for imports from a set of illegal packages. !--> <!-- See http://checkstyle.sf.net/config_import.html !--> <module name="IllegalImport"> <property name="illegalPkgs" value="junit.framework"/> <property name="illegalPkgs" value="sun"/> <property name="illegalPkgs" value="org.apache.commons.logging"/> <property name="illegalPkgs" value="java.util.logging"/> </module> <!-- Controls what can be imported in each package. Useful for ensuring that application layering rules !--> <!-- are not violated, especially on large projects. !--> <!-- See http://checkstyle.sourceforge.net/config_imports.html#ImportControl !--> <!-- Default: OFF <module name="ImportControl"> <property name="file" value=""/> <property name="url" value=""/> </module> !--> <!-- Checks the ordering/grouping of imports. !--> <!-- See http://checkstyle.sf.net/config_import.html !--> <module name="ImportOrder"> <property name="option" value="under"/> <property name="groups" value="java,javax,junit,org,com,ch,de,kieker,kieker.test"/> <property name="ordered" value="true"/> <property name="separated" value="true"/> <property name="caseSensitive" value="true"/> </module> <!-- Checks for redundant import statements. !--> <!-- See http://checkstyle.sf.net/config_import.html !--> <module name="RedundantImport"/> <!-- Checks for unused import statements. !--> <!-- See http://checkstyle.sf.net/config_import.html !--> <module name="UnusedImports"/> <!-- !________________________________________________________________________________________ ! ! J A V A D O C S !________________________________________________________________________________________ !--> <!-- Checks to ensure that the javadoc tags exist (if required) !--> <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocMethod !--> <!-- KIEKER: adapted !--> <module name="JavadocMethod"> <property name="severity" value="info"/> <property name="scope" value="protected"/> <!-- <property name="excludeScope" value=""/> !--> <property name="allowUndeclaredRTE" value="false"/> <property name="allowThrowsTagsForSubclasses" value="false"/> <property name="allowMissingParamTags" value="false"/> <property name="allowMissingThrowsTags" value="false"/> <property name="allowMissingReturnTag" value="false"/> <property name="allowMissingJavadoc" value="false"/> <property name="allowMissingPropertyJavadoc" value="true"/> <property name="logLoadErrors" value="true"/> <property name="suppressLoadErrors" value="false"/> <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> </module> <!-- Validates Javadoc comments to help ensure they are well formed. !--> <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocStyle !--> <module name="JavadocStyle"> <property name="severity" value="info"/> <property name="scope" value="private"/> <!-- <property name="excludeScope" value=""/> !--> <property name="checkFirstSentence" value="true"/> <!--TODO: <property name="endOfSentenceFormat" value="([.?!][ \t\n\r\f<])|([.?!]$)"/> !--> <property name="checkEmptyJavadoc" value="false"/> <property name="checkHtml" value="false"/> <property name="tokens" value="INTERFACE_DEF, CLASS_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/> </module> <!-- Checks Javadoc comments for class and interface definitions. !--> <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocType !--> <module name="JavadocType"> <property name="severity" value="info"/> <property name="scope" value="private"/> <!--<property name="excludeScope" value=""/>!--> <property name="authorFormat" value=""/> <!--<property name="versionFormat" value=""/>!--> <property name="allowMissingParamTags" value="false"/> <property name="allowUnknownTags" value="false"/> <property name="tokens" value="INTERFACE_DEF, CLASS_DEF"/> </module> <module name="JavadocType"> <property name="severity" value="error"/> <property name="scope" value="package"/> <property name="authorFormat" value="\S"/> </module> <!-- Checks that variables have Javadoc comments. !--> <!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocVariable !--> <module name="JavadocVariable"> <property name="severity" value="info"/> <property name="scope" value="protected"/> <!-- <property name="excludeScope" value=""/> !--> </module> <!-- Outputs a JavaDoc tag as information. !--> <!-- See http://checkstyle.sourceforge.net/config_javadoc.html#WriteTag !--> <!-- KIEKER <module name="WriteTag"> <property name="severity" value="info"/> <property name="tag" value=""/> <property name="tagFormat" value=""/> <property name="tagSeverity" value="info"/> </module> --> <!-- !________________________________________________________________________________________ ! ! M E T R I C S !________________________________________________________________________________________ !--> <!-- Restrict the number of number of &&, || and ^ in an expression. !--> <!-- See http://checkstyle.sf.net/config_metrics.html !--> <!-- KIEKER Off --> <!-- <module name="BooleanExpressionComplexity"> <property name="severity" value="info"/> <property name="max" value="3"/> <property name="tokens" value="LAND, BAND, LOR, BOR, BXOR"/> </module> --> <!-- This metric measures the number of instantiations of other classes within the given class. !--> <!-- See http://checkstyle.sf.net/config_metrics.html !--> <!-- KIEKER Off --> <!-- <module name="ClassDataAbstractionCoupling"> <property name="severity" value="info"/> <property name="max" value="7"/> </module> --> <!-- The number of other classes a given class relies on. !--> <!-- See http://checkstyle.sf.net/config_metrics.html !--> <!-- KIEKER Off --> <!--<module name="ClassFanOutComplexity"> <property name="severity" value="info"/> <property name="max" value="20"/> </module> --> <!-- Checks cyclomatic complexity against a specified limit. !--> <!-- See http://checkstyle.sf.net/config_metrics.html !--> <module name="CyclomaticComplexity"> <property name="severity" value="ignore"/> <property name="max" value="10"/> </module> <!-- Determines complexity of methods, classes and files by counting the Non Commenting Source Statements (NCSS). !--> <!-- See http://checkstyle.sourceforge.net/config_metrics.html#JavaNCSS !--> <!-- KIEKER Off --> <!--<module name="JavaNCSS"> <property name="severity" value="info"/> <property name="methodMaximum" value="50"/> <property name="classMaximum" value="1500"/> <property name="fileMaximum" value="2000"/> </module> --> <!-- The NPATH metric computes the number of possible execution paths through a function. !--> <!-- See http://checkstyle.sf.net/config_metrics.html !--> <!-- KIEKER Off --> <!--<module name="NPathComplexity"> <property name="severity" value="info"/> <property name="max" value="200"/> </module> --> <!-- !________________________________________________________________________________________ ! ! M I S C E L L A N E O U S !________________________________________________________________________________________ !--> <!-- Checks the style of array type definitions. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <module name="ArrayTypeStyle"> <property name="javaStyle" value="true"/> </module> <!-- Checks for restricted tokens beneath other tokens. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- Default: OFF <module name="DescendantToken"> <property name="tokens" value=""/> <property name="limitedTokens" value=""/> <property name="minimumDepth" value="0"/> <property name="maximumDepth" value="java.lang.Integer.MAX_VALUE"/> <property name="minimumNumber" value="0"/> <property name="maximumNumber" value="java.lang.Integer.MAX_VALUE"/> <property name="sumTokenCounts" value="false"/> <property name="minimumMessage" value="descendant.token.min"/> <property name="maximumMessage" value="descendant.token.max"/> </module> !--> <!-- Check that method/constructor parameters are final. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <module name="FinalParameters"> <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> </module> <!-- A generic check for code problems - the user can search for any pattern. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- Default: OFF <module name="GenericIllegalRegexp"> <property name="format" value="\S\s+$"/> <property name="message" value="Line has trailing spaces."/> <property name="ignoreCase" value="false"/> <property name="ignoreComments" value="false"/> </module> !--> <!-- Checks correct indentation of Java Code. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- KIEKER deactivated for now <module name="Indentation"> <property name="severity" value="info"/> <property name="basicOffset" value="4"/> <property name="braceAdjustment" value="0"/> <property name="caseIndent" value="0"/> </module> !--> <!-- Checks that the outer type name and the file name match. !--> <!-- See http://checkstyle.sourceforge.net/config_misc.html#OuterTypeFilename !--> <module name="OuterTypeFilename"/> <!-- A check for TODO: comments. Actually it is a generic regular expression matcher on Java comments. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- Kieker !--> <module name="TodoComment"> <property name="format" value="TODO"/> <property name="severity" value="warning"/> </module> <module name="TodoComment"> <property name="format" value="FIXME"/> <property name="severity" value="error"/> </module> <!-- The check to ensure that requires that comments be the only thing on a line. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- KIEKER we use them <module name="TrailingComment"> <property name="format" value="^[\\s\\}\\);]*$"/> <property name="legalComment" value=""/> </module> --> <!-- Checks for uncommented main() methods (debugging leftovers). !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <!-- KIEKER do not check for these <module name="UncommentedMain"> <property name="severity" value="info"/> <property name="excludedClasses" value="Main$"/> </module> --> <!-- Checks that long constants are defined with an upper ell. That is 'L' and not 'l'. !--> <!-- See http://checkstyle.sf.net/config_misc.html !--> <module name="UpperEll"/> <!-- !________________________________________________________________________________________ ! ! M O D I F I E R S !________________________________________________________________________________________ !--> <!-- Checks that the order of modifiers conforms to the suggestions in the Java Language specification, !--> <!-- sections 8.1.1, 8.3.1 and 8.4.3. !--> <!-- See http://checkstyle.sf.net/config_modifiers.html !--> <module name="ModifierOrder"/> <!-- Checks that there are no redundant modifiers. !--> <!-- See http://checkstyle.sf.net/config_modifiers.html !--> <!-- KIEKER off <module name="RedundantModifier"> <property name="tokens" value="METHOD_DEF, VARIABLE_DEF, ANNOTATION_FIELD_DEF"/> </module> !--> <!-- !________________________________________________________________________________________ ! ! N A M I N G C O N V E N T I O N S !________________________________________________________________________________________ !--> <!-- Checks for abstract class name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <!-- KIEKER removed |^.*Factory$ --> <module name="AbstractClassName"> <property name="format" value="^Abstract.*$"/> <property name="ignoreModifier" value="false"/> <property name="ignoreName" value="false"/> </module> <!-- Checks for class type parameter name naming conventions. !--> <!-- See http://checkstyle.sourceforge.net/config_naming.html#ClassTypeParameterName !--> <module name="ClassTypeParameterName"> <property name="format" value="^[A-Z]$"/> </module> <!-- Checks for constant name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="ConstantName"> <property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/> <property name="applyToPublic" value="true"/> <property name="applyToProtected" value="true"/> <property name="applyToPackage" value="true"/> <property name="applyToPrivate" value="true"/> </module> <!-- Checks for local final variable name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="LocalFinalVariableName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> <property name="tokens" value="VARIABLE_DEF, PARAMETER_DEF"/> </module> <!-- Checks for local variable name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="LocalVariableName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> <property name="tokens" value="PARAMETER_DEF"/> </module> <!-- Checks for member variable name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="MemberName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> <property name="applyToPublic" value="true"/> <property name="applyToProtected" value="true"/> <property name="applyToPackage" value="true"/> <property name="applyToPrivate" value="true"/> </module> <!-- Checks for method name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="MethodName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <!-- Checks for method type parameter name naming conventions. !--> <!-- See http://checkstyle.sourceforge.net/config_naming.html#MethodTypeParameterName !--> <module name="MethodTypeParameterName"> <property name="format" value="^[A-Z]$"/> </module> <!-- Checks for package name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="PackageName"> <property name="format" value="^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$"/> </module> <!-- Checks for parameter name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="ParameterName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <!-- Checks for static variable name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <module name="StaticVariableName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> <property name="applyToPublic" value="true"/> <property name="applyToProtected" value="true"/> <property name="applyToPackage" value="true"/> <property name="applyToPrivate" value="true"/> </module> <!-- Checks for type name naming conventions. !--> <!-- See http://checkstyle.sf.net/config_naming.html !--> <!-- KIEKER: modded --> <module name="TypeName"> <property name="format" value="^[A-Z][a-zA-Z0-9]*$"/> <property name="tokens" value="CLASS_DEF"/> <property name="applyToPublic" value="true"/> <property name="applyToProtected" value="true"/> <property name="applyToPackage" value="true"/> <property name="applyToPrivate" value="true"/> </module> <module name="TypeName"> <property name="format" value="^I[A-Z][a-zA-Z0-9]*$"/> <property name="tokens" value="INTERFACE_DEF"/> <property name="applyToPublic" value="true"/> <property name="applyToProtected" value="true"/> <property name="applyToPackage" value="true"/> <property name="applyToPrivate" value="true"/> </module> <!-- !________________________________________________________________________________________ ! ! R E G E X P !________________________________________________________________________________________ !--> <!-- A check that makes sure that a specified pattern exists, exists less than a set number of times, !--> <!-- or does not exist in the file. !--> <!-- See http://checkstyle.sourceforge.net/config_misc.html#Regexp !--> <!-- Default: OFF <module name="Regexp"> <property name="format" value=""/> <property name="message" value=""/> <property name="illegalPattern" value="false"/> <property name="duplicateLimit" value="-1"/> <property name="errorLimit" value="100"/> <property name="ignoreComments" value="false"/> </module> !--> <!-- This class is variation on RegexpSingleline for detecting single lines that match a !--> <!-- supplied regular expression in Java files. It supports suppressing matches in Java comments. !--> <!-- See http://checkstyle.sourceforge.net/config_regexp.html#RegexpSinglelineJava !--> <!-- Default: OFF <module name="RegexpSinglelineJava"> <property name="format" value=""/> <property name="message" value=""/> <property name="ignoreCase" value="false"/> <property name="minimum" value="0"/> <property name="maximum" value="0"/> <property name="ignoreComments" value="false"/> </module> !--> <!-- !________________________________________________________________________________________ ! ! S I Z E V I O L A T I O N S !________________________________________________________________________________________ !--> <!-- Checks for long anonymous inner classes. !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <!-- KIEKER Set to 50 instead of 20 --> <module name="AnonInnerLength"> <property name="severity" value="info"/> <property name="max" value="50"/> </module> <!-- Restricts the number of executable statements to a specified limit. !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <!-- KIEKER off <module name="ExecutableStatementCount"> <property name="severity" value="info"/> <property name="max" value="30"/> <property name="tokens" value="CTOR_DEF, METHOD_DEF, INSTANCE_INIT, STATIC_INIT"/> </module> !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <!-- Checks for long lines. !--> <module name="LineLength"> <property name="severity" value="info"/> <property name="ignorePattern" value="^$"/> <property name="max" value="165"/> </module> <!-- Checks the number of methods declared in each type. This includes the number of each scope !--> <!-- (private, package, protected and public) as well as an overall total. !--> <!-- See http://checkstyle.sourceforge.net/config_sizes.html#MethodCount !--> <module name="MethodCount"> <property name="severity" value="info"/> <property name="maxTotal" value="100"/> <property name="maxPrivate" value="100"/> <property name="maxPackage" value="100"/> <property name="maxProtected" value="100"/> <property name="maxPublic" value="100"/> </module> <!-- Checks for long methods and constructors. !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <module name="MethodLength"> <property name="severity" value="info"/> <property name="max" value="150"/> <property name="countEmpty" value="true"/> <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> </module> <!-- Checks for the number of types declared at the outer (or root) level in a file. !--> <!-- See http://checkstyle.sourceforge.net/config_sizes.html#OuterTypeNumber !--> <!-- KIEKER 2 !--> <module name="OuterTypeNumber"> <property name="max" value="2"/> </module> <!-- Checks the number of parameters of a method or constructor. !--> <!-- See http://checkstyle.sf.net/config_sizes.html !--> <!-- KIEKER off <module name="ParameterNumber"> <property name="severity" value="info"/> <property name="max" value="7"/> <property name="tokens" value="METHOD_DEF, CTOR_DEF"/> </module> !--> <!-- !________________________________________________________________________________________ ! ! W H I T E S P A C E !________________________________________________________________________________________ !--> <!-- Checks the padding of an empty for initializer. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="EmptyForInitializerPad"> <property name="option" value="nospace"/> </module> <!-- Checks the padding of an empty for iterator. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="EmptyForIteratorPad"> <property name="option" value="nospace"/> </module> <!-- Checks that the whitespace around the Generic tokens < and > is correct to the typical convention. !--> <!-- See http://checkstyle.sourceforge.net/config_whitespace.html#GenericWhitespace !--> <module name="GenericWhitespace"/> <!-- Checks the padding between the identifier of a method definition, !--> <!-- constructor definition, method call, or constructor invocation; and the left parenthesis of the parameter list. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="MethodParamPad"> <property name="allowLineBreaks" value="false"/> <property name="option" value="nospace"/> <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, SUPER_CTOR_CALL "/> </module> <!-- Checks that there is no whitespace after a token. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <!-- KIEKER removed ARRAY_INIT !--> <module name="NoWhitespaceAfter"> <property name="allowLineBreaks" value="true"/> <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/> </module> <!-- Checks that there is no whitespace before a token. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="NoWhitespaceBefore"> <property name="allowLineBreaks" value="false"/> <property name="tokens" value="SEMI, POST_DEC, POST_INC"/> </module> <!-- Checks the policy on how to wrap lines on operators. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="OperatorWrap"> <property name="option" value="nl"/> <property name="tokens" value="BAND, BOR, BSR, BXOR, COLON, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR"/> </module> <!-- Checks the policy on the padding of parentheses. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="ParenPad"> <property name="option" value="nospace"/> <property name="tokens" value="CTOR_CALL, LPAREN, METHOD_CALL, RPAREN, SUPER_CTOR_CALL"/> </module> <!-- Checks the policy on the padding of parentheses for typecasts. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="TypecastParenPad"> <property name="option" value="nospace"/> <property name="tokens" value="TYPECAST, RPAREN"/> </module> <!-- Checks that a token is followed by whitespace. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="WhitespaceAfter"> <property name="tokens" value="COMMA, SEMI, TYPECAST"/> </module> <!-- Checks that a token is surrounded by whitespace. !--> <!-- See http://checkstyle.sf.net/config_whitespace.html !--> <module name="WhitespaceAround"> <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN"/> <property name="allowEmptyConstructors" value="true"/> <property name="allowEmptyMethods" value="true"/> </module> <module name="qa.PluralForCollectionVariableCheck" /> </module> </module>