builder: use fully qualified classnames in XML files

In Checkstyle 7.8 a new mechanisim is used to lookup rules by
name. This new method causes an exception to be thrown is there are
more than one classes found that match the rule name.

The solution is to use fully qualified class names in the module tag
in the XML ruleset files.
This commit is contained in:
Paul Campbell 2017-05-29 23:55:42 +01:00
parent a0d58fca81
commit a0ca4958fc
14 changed files with 683 additions and 475 deletions

View file

@ -42,6 +42,8 @@
<mapstream.version>2.3.5</mapstream.version> <mapstream.version>2.3.5</mapstream.version>
<map-builder.version>1.0.0</map-builder.version> <map-builder.version>1.0.0</map-builder.version>
<coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version> <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
<checkstyle.version>7.8</checkstyle.version>
<sevntu.version>1.24.0</sevntu.version>
</properties> </properties>
<dependencies> <dependencies>
@ -92,6 +94,19 @@
<version>${map-builder.version}</version> <version>${map-builder.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.sevntu-checkstyle</groupId>
<artifactId>sevntu-checks</artifactId>
<version>${sevntu.version}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>

View file

@ -0,0 +1,39 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2017 Paul Campbell
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
* and associated documentation files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies
* or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package net.kemitix.checkstyle.ruleset.builder;
/**
* Raised when a Class to implement a Rule is not found.
*
* @author Paul Campbell (pcampbell@kemitix.net).
*/
public class CheckstyleClassNotFoundException extends RuntimeException {
/**
* Constructor.
*
* @param name the name of the unimplemented rule
*/
public CheckstyleClassNotFoundException(final String name) {
super("No class found to implement " + name);
}
}

View file

@ -0,0 +1,42 @@
/**
* The MIT License (MIT)
*
* Copyright (c) 2017 Paul Campbell
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
* and associated documentation files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies
* or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package net.kemitix.checkstyle.ruleset.builder;
import java.io.IOException;
/**
* Raised when there is an error scanning for check classes.
*
* @author Paul Campbell (pcampbell@kemitix.net).
*/
public class CheckstyleSourceLoadException extends RuntimeException {
/**
* Constructor.
*
* @param basePackage the base package classes were being loaded from
* @param cause the cause
*/
public CheckstyleSourceLoadException(final String basePackage, final IOException cause) {
super("Error loading checkstyle rules from package: " + basePackage, cause);
}
}

View file

@ -101,9 +101,9 @@ class CheckstyleWriter implements CommandLineRunner {
private String formatRuleAsModule(final Rule rule) { private String formatRuleAsModule(final Rule rule) {
if (rule.getProperties() if (rule.getProperties()
.isEmpty()) { .isEmpty()) {
return String.format("<module name=\"%s\"/>", rule.getName()); return String.format("<module name=\"%s\"/>", rule.getCanonicalClassName());
} }
return String.format("<module name=\"%s\">%n %s%n</module>", rule.getName(), return String.format("<module name=\"%s\">%n %s%n</module>", rule.getCanonicalClassName(),
formatProperties(rule.getProperties()) formatProperties(rule.getProperties())
); );
} }

View file

@ -40,6 +40,11 @@ public class Rule {
private static final Locale LOCALE = Locale.ENGLISH; private static final Locale LOCALE = Locale.ENGLISH;
/**
* Configuration properties.
*/
private final Map<String, String> properties = new HashMap<>();
/** /**
* The name of the rule's Check class. * The name of the rule's Check class.
*/ */
@ -80,11 +85,6 @@ public class Rule {
*/ */
private String reason; private String reason;
/**
* Configuration properties.
*/
private final Map<String, String> properties = new HashMap<>();
/** /**
* Compare two Rules lexicographically for sorting by rule name, ignoring case. * Compare two Rules lexicographically for sorting by rule name, ignoring case.
* *
@ -104,4 +104,21 @@ public class Rule {
return getName().toLowerCase(LOCALE); return getName().toLowerCase(LOCALE);
} }
/**
* Returns the canonical name of the class that implements this rule.
*
* @return the canonical name of the implementing class
*/
public String getCanonicalClassName() {
return source.getCheckClasses()
.filter(this::byRuleName)
.findFirst()
.orElseThrow(() -> new CheckstyleClassNotFoundException(name));
}
private boolean byRuleName(final String classname) {
final String classNameWithDelimiter = "." + name;
return classname.endsWith(classNameWithDelimiter) || classname.endsWith(classNameWithDelimiter + "Check");
}
} }

View file

@ -21,6 +21,14 @@
package net.kemitix.checkstyle.ruleset.builder; package net.kemitix.checkstyle.ruleset.builder;
import com.google.common.reflect.ClassPath;
import lombok.Getter;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* The origin of the rule. * The origin of the rule.
* *
@ -28,6 +36,34 @@ package net.kemitix.checkstyle.ruleset.builder;
*/ */
public enum RuleSource { public enum RuleSource {
CHECKSTYLE, CHECKSTYLE("com.puppycrawl.tools.checkstyle"),
SEVNTU, SEVNTU("com.github.sevntu.checkstyle.checks");
@Getter
private final String basePackage;
private final List<String> checkClasses;
/**
* Constructor.
*
* @param basePackage the base package that contains all checks from this source
*/
RuleSource(final String basePackage) {
this.basePackage = basePackage;
try {
checkClasses = ClassPath.from(getClass().getClassLoader())
.getTopLevelClassesRecursive(basePackage)
.stream()
.map(ClassPath.ClassInfo::getName)
.collect(Collectors.toList());
} catch (IOException e) {
throw new CheckstyleSourceLoadException(basePackage, e);
}
}
public Stream<String> getCheckClasses() {
return checkClasses.stream()
.sorted();
}
} }

View file

@ -0,0 +1,24 @@
package net.kemitix.checkstyle.ruleset.builder;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link CheckstyleClassNotFoundException}.
*
* @author Paul Campbell (pcampbell@kemitix.net).
*/
public class CheckstyleClassNotFoundExceptionTest {
@Test
public void canRaiseException() {
//given
final String classname = "class name";
//when
final CheckstyleClassNotFoundException exception = new CheckstyleClassNotFoundException(classname);
//then
assertThat(exception.getMessage()).startsWith("No class found to implement ")
.endsWith(classname);
}
}

View file

@ -0,0 +1,28 @@
package net.kemitix.checkstyle.ruleset.builder;
import org.junit.Test;
import java.io.IOException;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
/**
* Tests for {@link CheckstyleSourceLoadException}.
*
* @author Paul Campbell (pcampbell@kemitix.net).
*/
public class CheckstyleSourceLoadExceptionTest {
@Test
public void canRaiseException() {
//given
final String basePackage = "base package";
final IOException cause = new IOException();
//when
final CheckstyleSourceLoadException exception = new CheckstyleSourceLoadException(basePackage, cause);
//then
assertThat(exception).hasCause(cause)
.hasMessageStartingWith("Error loading checkstyle rules from package: ")
.hasMessageEndingWith(basePackage);
}
}

View file

@ -17,7 +17,6 @@ import java.nio.file.StandardOpenOption;
import java.util.AbstractMap; import java.util.AbstractMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@ -42,6 +41,8 @@ public class CheckstyleWriterTest {
private String ruleName; private String ruleName;
private String ruleClassname;
private Map<RuleLevel, String> outputFiles; private Map<RuleLevel, String> outputFiles;
private Path outputDirectory; private Path outputDirectory;
@ -57,8 +58,8 @@ public class CheckstyleWriterTest {
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
ruleName = UUID.randomUUID() ruleName = "RegexpOnFilename";
.toString(); ruleClassname = "com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck";
outputProperties = new OutputProperties(); outputProperties = new OutputProperties();
outputFiles = new MapBuilder<RuleLevel, String>().put(getOutputFile(RuleLevel.LAYOUT)) outputFiles = new MapBuilder<RuleLevel, String>().put(getOutputFile(RuleLevel.LAYOUT))
.put(getOutputFile(RuleLevel.NAMING)) .put(getOutputFile(RuleLevel.NAMING))
@ -91,7 +92,7 @@ public class CheckstyleWriterTest {
checkstyleWriter.run(); checkstyleWriter.run();
//then //then
val lines = loadOutputFile(RuleLevel.LAYOUT); val lines = loadOutputFile(RuleLevel.LAYOUT);
assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\"/>", ruleName)); assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\"/>", ruleClassname));
} }
// write rule that is below current level // write rule that is below current level
@ -105,7 +106,7 @@ public class CheckstyleWriterTest {
checkstyleWriter.run(); checkstyleWriter.run();
//then //then
val lines = loadOutputFile(RuleLevel.NAMING); val lines = loadOutputFile(RuleLevel.NAMING);
assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\"/>", ruleName)); assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\"/>", ruleClassname));
} }
// write rule with checker parent // write rule with checker parent
@ -119,7 +120,7 @@ public class CheckstyleWriterTest {
checkstyleWriter.run(); checkstyleWriter.run();
//then //then
val lines = loadOutputFile(RuleLevel.LAYOUT); val lines = loadOutputFile(RuleLevel.LAYOUT);
assertThat(lines).containsExactly(String.format("C:<module name=\"%s\"/>", ruleName), "TW:"); assertThat(lines).containsExactly(String.format("C:<module name=\"%s\"/>", ruleClassname), "TW:");
} }
// write rule with properties // write rule with properties
@ -135,7 +136,7 @@ public class CheckstyleWriterTest {
checkstyleWriter.run(); checkstyleWriter.run();
//then //then
val lines = loadOutputFile(RuleLevel.LAYOUT); val lines = loadOutputFile(RuleLevel.LAYOUT);
assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\">", ruleName), assertThat(lines).containsExactly("C:", String.format("TW:<module name=\"%s\">", ruleClassname),
" <property name=\"key\" value=\"value\"/>", "</module>" " <property name=\"key\" value=\"value\"/>", "</module>"
); );
} }
@ -207,6 +208,7 @@ public class CheckstyleWriterTest {
private Rule enabledRule(final RuleLevel level, final RuleParent parent) { private Rule enabledRule(final RuleLevel level, final RuleParent parent) {
val rule = new Rule(); val rule = new Rule();
rule.setName(ruleName); rule.setName(ruleName);
rule.setSource(RuleSource.CHECKSTYLE);
rule.setEnabled(true); rule.setEnabled(true);
rule.setLevel(level); rule.setLevel(level);
rule.setParent(parent); rule.setParent(parent);

View file

@ -4,62 +4,63 @@
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<module name="RegexpOnFilename"> <module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck">
<property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/> <property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/>
<property name="match" value="true"/> <property name="match" value="true"/>
</module> </module>
<module name="FileTabCharacter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<module name="Header"> <module name="com.puppycrawl.tools.checkstyle.checks.header.HeaderCheck">
<property name="fileExtensions" value="java"/> <property name="fileExtensions" value="java"/>
<property name="headerFile" value="LICENSE.txt"/> <property name="headerFile" value="LICENSE.txt"/>
</module> </module>
<module name="NewlineAtEndOfFile"> <module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
<property name="lineSeparator" value="lf"/> <property name="lineSeparator" value="lf"/>
</module> </module>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="AnnotationLocation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck"/>
<module name="AnnotationUseStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck"/>
<module name="ArrayTypeStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"/>
<module name="AvoidStarImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck"/>
<module name="CommentsIndentation"/> <module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck"/>
<module name="DeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck"/>
<module name="EmptyForInitializerPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForInitializerPadCheck"/>
<module name="EmptyForIteratorPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForIteratorPadCheck"/>
<module name="EmptyLineSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="EmptyStatement"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="GenericWhitespace"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>
<module name="LeftCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck"/>
<module name="LineLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck">
<property name="max" value="120"/> <property name="max" value="120"/>
</module> </module>
<module name="MethodParamPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck"/>
<module name="NoLineWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoLineWrapCheck"/>
<module name="NoWhitespaceAfter"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="allowLineBreaks" value="false"/> <property name="allowLineBreaks" value="false"/>
</module> </module>
<module name="NoWhitespaceBefore"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck"/>
<module name="OneStatementPerLine"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck"/>
<module name="OperatorWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"/>
<module name="OverloadMethodsDeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>
<module name="ParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck"/>
<module name="RightCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
<module name="SeparatorWrap"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="option" value="nl"/> <property name="option" value="nl"/>
</module> </module>
<module name="SingleSpaceSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheck"/>
<module name="TrailingComment"/> <module name="com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck"/>
<module name="TypecastParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck"/>
<module name="UnnecessaryParentheses"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck"/>
<module name="UnusedImports"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>
<module name="UpperEll"/> <module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"/>
<module name="WhitespaceAfter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck"/>
<module name="WhitespaceAround"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<module name="ForbidCCommentsInMethods"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethodsCheck"/>
</module><!-- /TreeWalker --> </module><!-- /TreeWalker -->
</module><!-- /Checker --> </module><!-- /Checker -->

View file

@ -4,94 +4,95 @@
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<module name="RegexpOnFilename"> <module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck">
<property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/> <property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/>
<property name="match" value="true"/> <property name="match" value="true"/>
</module> </module>
<module name="FileTabCharacter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<module name="Header"> <module name="com.puppycrawl.tools.checkstyle.checks.header.HeaderCheck">
<property name="fileExtensions" value="java"/> <property name="fileExtensions" value="java"/>
<property name="headerFile" value="LICENSE.txt"/> <property name="headerFile" value="LICENSE.txt"/>
</module> </module>
<module name="NewlineAtEndOfFile"> <module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
<property name="lineSeparator" value="lf"/> <property name="lineSeparator" value="lf"/>
</module> </module>
<module name="SuppressWarningsFilter"/> <module name="com.puppycrawl.tools.checkstyle.filters.SuppressWarningsFilter"/>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="AbbreviationAsWordInName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbbreviationAsWordInNameCheck"/>
<module name="AbstractClassName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheck"/>
<module name="AnnotationLocation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck"/>
<module name="AnnotationUseStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck"/>
<module name="ArrayTypeStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"/>
<module name="AvoidStarImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck"/>
<module name="CatchParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.CatchParameterNameCheck"/>
<module name="ClassTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ClassTypeParameterNameCheck"/>
<module name="CommentsIndentation"/> <module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck"/>
<module name="ConstantName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck"/>
<module name="DeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck"/>
<module name="EmptyForInitializerPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForInitializerPadCheck"/>
<module name="EmptyForIteratorPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForIteratorPadCheck"/>
<module name="EmptyLineSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="EmptyStatement"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="GenericWhitespace"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>
<module name="InterfaceTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.InterfaceTypeParameterNameCheck"/>
<module name="LeftCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck"/>
<module name="LineLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck">
<property name="max" value="120"/> <property name="max" value="120"/>
</module> </module>
<module name="LocalFinalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalFinalVariableNameCheck"/>
<module name="LocalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalVariableNameCheck"/>
<module name="MagicNumber"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck"/>
<module name="MemberName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<module name="MethodName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodNameCheck"/>
<module name="MethodParamPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck"/>
<module name="MethodTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodTypeParameterNameCheck"/>
<module name="ModifierOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.ModifierOrderCheck"/>
<module name="MultipleStringLiterals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleStringLiteralsCheck"/>
<module name="MultipleVariableDeclarations"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheck"/>
<module name="NeedBraces"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck"/>
<module name="NoLineWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoLineWrapCheck"/>
<module name="NoWhitespaceAfter"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="allowLineBreaks" value="false"/> <property name="allowLineBreaks" value="false"/>
</module> </module>
<module name="NoWhitespaceBefore"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck"/>
<module name="OneStatementPerLine"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck"/>
<module name="OperatorWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"/>
<module name="OverloadMethodsDeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>
<module name="PackageName"> <module name="com.puppycrawl.tools.checkstyle.checks.naming.PackageNameCheck">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/> <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/>
</module> </module>
<module name="ParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheck"/>
<module name="ParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck"/>
<module name="RightCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
<module name="SeparatorWrap"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="option" value="nl"/> <property name="option" value="nl"/>
</module> </module>
<module name="SingleSpaceSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheck"/>
<module name="StaticVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.StaticVariableNameCheck"/>
<module name="SuppressWarnings"> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheck">
<property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/> <property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/>
</module> </module>
<module name="SuppressWarningsHolder"/> <module name="com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder"/>
<module name="TrailingComment"/> <module name="com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck"/>
<module name="TypecastParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck"/>
<module name="TypeName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheck"/>
<module name="UnnecessaryParentheses"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck"/>
<module name="UnusedImports"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>
<module name="UpperEll"/> <module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"/>
<module name="WhitespaceAfter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck"/>
<module name="WhitespaceAround"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<module name="EnumValueName"/> <module name="com.github.sevntu.checkstyle.checks.naming.EnumValueNameCheck"/>
<module name="ForbidCCommentsInMethods"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethodsCheck"/>
<module name="NameConventionForJunit4TestClasses"/> <module name="com.github.sevntu.checkstyle.checks.coding.NameConventionForJunit4TestClassesCheck"/>
<module name="NumericLiteralNeedsUnderscore"/> <module name="com.github.sevntu.checkstyle.checks.coding.NumericLiteralNeedsUnderscoreCheck"/>
<module name="SimpleAccessorNameNotation"/> <module name="com.github.sevntu.checkstyle.checks.coding.SimpleAccessorNameNotationCheck"/>
<module name="UniformEnumConstantName"/> <module name="com.github.sevntu.checkstyle.checks.naming.UniformEnumConstantNameCheck"/>
</module><!-- /TreeWalker --> </module><!-- /TreeWalker -->
</module><!-- /Checker --> </module><!-- /Checker -->

View file

@ -4,120 +4,121 @@
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<module name="RegexpOnFilename"> <module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck">
<property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/> <property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/>
<property name="match" value="true"/> <property name="match" value="true"/>
</module> </module>
<module name="FileTabCharacter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<module name="Header"> <module name="com.puppycrawl.tools.checkstyle.checks.header.HeaderCheck">
<property name="fileExtensions" value="java"/> <property name="fileExtensions" value="java"/>
<property name="headerFile" value="LICENSE.txt"/> <property name="headerFile" value="LICENSE.txt"/>
</module> </module>
<module name="JavadocPackage"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck"/>
<module name="NewlineAtEndOfFile"> <module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
<property name="lineSeparator" value="lf"/> <property name="lineSeparator" value="lf"/>
</module> </module>
<module name="SuppressWarningsFilter"/> <module name="com.puppycrawl.tools.checkstyle.filters.SuppressWarningsFilter"/>
<module name="Translation"/> <module name="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
<module name="UniqueProperties"/> <module name="com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheck"/>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="AbbreviationAsWordInName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbbreviationAsWordInNameCheck"/>
<module name="AbstractClassName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheck"/>
<module name="AnnotationLocation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck"/>
<module name="AnnotationUseStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck"/>
<module name="ArrayTypeStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"/>
<module name="AtclauseOrder"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.AtclauseOrderCheck">
<property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/> <property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/>
</module> </module>
<module name="AvoidStarImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck"/>
<module name="CatchParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.CatchParameterNameCheck"/>
<module name="ClassTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ClassTypeParameterNameCheck"/>
<module name="CommentsIndentation"/> <module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck"/>
<module name="ConstantName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck"/>
<module name="DeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck"/>
<module name="EmptyForInitializerPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForInitializerPadCheck"/>
<module name="EmptyForIteratorPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForIteratorPadCheck"/>
<module name="EmptyLineSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="EmptyStatement"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="FallThrough"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.FallThroughCheck"/>
<module name="GenericWhitespace"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>
<module name="InterfaceTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.InterfaceTypeParameterNameCheck"/>
<module name="JavadocMethod"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck">
<property name="allowMissingPropertyJavadoc" value="true"/> <property name="allowMissingPropertyJavadoc" value="true"/>
<property name="validateThrows" value="true"/> <property name="validateThrows" value="true"/>
<property name="scope" value="package"/> <property name="scope" value="package"/>
</module> </module>
<module name="JavadocParagraph"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocParagraphCheck"/>
<module name="JavadocStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocStyleCheck"/>
<module name="JavadocType"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck">
<property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/> <property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/>
</module> </module>
<module name="LeftCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck"/>
<module name="LineLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck">
<property name="max" value="120"/> <property name="max" value="120"/>
</module> </module>
<module name="LocalFinalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalFinalVariableNameCheck"/>
<module name="LocalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalVariableNameCheck"/>
<module name="MagicNumber"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck"/>
<module name="MemberName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<module name="MethodName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodNameCheck"/>
<module name="MethodParamPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck"/>
<module name="MethodTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodTypeParameterNameCheck"/>
<module name="MissingDeprecated"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.MissingDeprecatedCheck"/>
<module name="ModifierOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.ModifierOrderCheck"/>
<module name="MultipleStringLiterals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleStringLiteralsCheck"/>
<module name="MultipleVariableDeclarations"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheck"/>
<module name="NeedBraces"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck"/>
<module name="NoLineWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoLineWrapCheck"/>
<module name="NonEmptyAtclauseDescription"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.NonEmptyAtclauseDescriptionCheck"/>
<module name="NoWhitespaceAfter"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="allowLineBreaks" value="false"/> <property name="allowLineBreaks" value="false"/>
</module> </module>
<module name="NoWhitespaceBefore"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck"/>
<module name="OneStatementPerLine"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck"/>
<module name="OperatorWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"/>
<module name="OverloadMethodsDeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>
<module name="PackageDeclaration"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.PackageDeclarationCheck"/>
<module name="PackageName"> <module name="com.puppycrawl.tools.checkstyle.checks.naming.PackageNameCheck">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/> <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/>
</module> </module>
<module name="ParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheck"/>
<module name="ParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck"/>
<module name="RightCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
<module name="SeparatorWrap"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="option" value="nl"/> <property name="option" value="nl"/>
</module> </module>
<module name="SingleSpaceSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheck"/>
<module name="StaticVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.StaticVariableNameCheck"/>
<module name="SuppressWarnings"> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheck">
<property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/> <property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/>
</module> </module>
<module name="SuppressWarningsHolder"/> <module name="com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder"/>
<module name="TodoComment"> <module name="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck">
<property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/> <property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/>
</module> </module>
<module name="TrailingComment"/> <module name="com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck"/>
<module name="TypecastParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck"/>
<module name="TypeName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheck"/>
<module name="UncommentedMain"> <module name="com.puppycrawl.tools.checkstyle.checks.UncommentedMainCheck">
<property name="excludedClasses" value="(Main|Application)$"/> <property name="excludedClasses" value="(Main|Application)$"/>
</module> </module>
<module name="UnnecessaryParentheses"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck"/>
<module name="UnusedImports"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>
<module name="UpperEll"/> <module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"/>
<module name="WhitespaceAfter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck"/>
<module name="WhitespaceAround"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<module name="EnumValueName"/> <module name="com.github.sevntu.checkstyle.checks.naming.EnumValueNameCheck"/>
<module name="ForbidCCommentsInMethods"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethodsCheck"/>
<module name="NameConventionForJunit4TestClasses"/> <module name="com.github.sevntu.checkstyle.checks.coding.NameConventionForJunit4TestClassesCheck"/>
<module name="NumericLiteralNeedsUnderscore"/> <module name="com.github.sevntu.checkstyle.checks.coding.NumericLiteralNeedsUnderscoreCheck"/>
<module name="SimpleAccessorNameNotation"/> <module name="com.github.sevntu.checkstyle.checks.coding.SimpleAccessorNameNotationCheck"/>
<module name="UniformEnumConstantName"/> <module name="com.github.sevntu.checkstyle.checks.naming.UniformEnumConstantNameCheck"/>
</module><!-- /TreeWalker --> </module><!-- /TreeWalker -->
</module><!-- /Checker --> </module><!-- /Checker -->

View file

@ -4,179 +4,180 @@
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<module name="RegexpOnFilename"> <module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck">
<property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/> <property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/>
<property name="match" value="true"/> <property name="match" value="true"/>
</module> </module>
<module name="FileTabCharacter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<module name="Header"> <module name="com.puppycrawl.tools.checkstyle.checks.header.HeaderCheck">
<property name="fileExtensions" value="java"/> <property name="fileExtensions" value="java"/>
<property name="headerFile" value="LICENSE.txt"/> <property name="headerFile" value="LICENSE.txt"/>
</module> </module>
<module name="JavadocPackage"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck"/>
<module name="NewlineAtEndOfFile"> <module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
<property name="lineSeparator" value="lf"/> <property name="lineSeparator" value="lf"/>
</module> </module>
<module name="SuppressWarningsFilter"/> <module name="com.puppycrawl.tools.checkstyle.filters.SuppressWarningsFilter"/>
<module name="Translation"/> <module name="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
<module name="UniqueProperties"/> <module name="com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheck"/>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="AbbreviationAsWordInName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbbreviationAsWordInNameCheck"/>
<module name="AbstractClassName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheck"/>
<module name="AnnotationLocation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck"/>
<module name="AnnotationUseStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck"/>
<module name="ArrayTypeStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"/>
<module name="AtclauseOrder"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.AtclauseOrderCheck">
<property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/> <property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/>
</module> </module>
<module name="AvoidEscapedUnicodeCharacters"> <module name="com.puppycrawl.tools.checkstyle.checks.AvoidEscapedUnicodeCharactersCheck">
<property name="allowEscapesForControlCharacters" value="true"/> <property name="allowEscapesForControlCharacters" value="true"/>
</module> </module>
<module name="AvoidStarImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck"/>
<module name="CatchParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.CatchParameterNameCheck"/>
<module name="ClassTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ClassTypeParameterNameCheck"/>
<module name="CommentsIndentation"/> <module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck"/>
<module name="ConstantName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck"/>
<module name="DeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck"/>
<module name="DefaultComesLast"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DefaultComesLastCheck"/>
<module name="EmptyBlock"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.EmptyBlockCheck"/>
<module name="EmptyCatchBlock"> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.EmptyCatchBlockCheck">
<property name="commentFormat" value="expected|ignore"/> <property name="commentFormat" value="expected|ignore"/>
</module> </module>
<module name="EmptyForInitializerPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForInitializerPadCheck"/>
<module name="EmptyForIteratorPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForIteratorPadCheck"/>
<module name="EmptyLineSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="EmptyStatement"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="EqualsAvoidNull"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck"/>
<module name="ExplicitInitialization"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck"/>
<module name="FallThrough"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.FallThroughCheck"/>
<module name="FinalParameters"/> <module name="com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck"/>
<module name="GenericWhitespace"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>
<module name="HiddenField"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.HiddenFieldCheck">
<property name="ignoreConstructorParameter" value="true"/> <property name="ignoreConstructorParameter" value="true"/>
<property name="ignoreSetter" value="true"/> <property name="ignoreSetter" value="true"/>
</module> </module>
<module name="HideUtilityClassConstructor"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"/>
<module name="IllegalCatch"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"/>
<module name="IllegalImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck"/>
<module name="IllegalThrows"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalThrowsCheck"/>
<module name="IllegalToken"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalTokenCheck"/>
<module name="IllegalType"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalTypeCheck">
<property name="illegalClassNames" value="java.util.ArrayDeque, java.util.ArrayList, java.util.EnumMap, java.util.EnumSet, java.util.HashMap, java.util.HashSet, java.util.IdentityHashMap, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.PriorityQueue, java.util.TreeMap, java.util.TreeSet"/> <property name="illegalClassNames" value="java.util.ArrayDeque, java.util.ArrayList, java.util.EnumMap, java.util.EnumSet, java.util.HashMap, java.util.HashSet, java.util.IdentityHashMap, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.PriorityQueue, java.util.TreeMap, java.util.TreeSet"/>
</module> </module>
<module name="InnerAssignment"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck"/>
<module name="InnerTypeLast"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.InnerTypeLastCheck"/>
<module name="InterfaceTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.InterfaceTypeParameterNameCheck"/>
<module name="JavadocMethod"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck">
<property name="allowMissingPropertyJavadoc" value="true"/> <property name="allowMissingPropertyJavadoc" value="true"/>
<property name="validateThrows" value="true"/> <property name="validateThrows" value="true"/>
<property name="scope" value="package"/> <property name="scope" value="package"/>
</module> </module>
<module name="JavadocParagraph"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocParagraphCheck"/>
<module name="JavadocStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocStyleCheck"/>
<module name="JavadocType"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck">
<property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/> <property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/>
</module> </module>
<module name="LeftCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck"/>
<module name="LineLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck">
<property name="max" value="120"/> <property name="max" value="120"/>
</module> </module>
<module name="LocalFinalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalFinalVariableNameCheck"/>
<module name="LocalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalVariableNameCheck"/>
<module name="MagicNumber"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck"/>
<module name="MemberName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<module name="MethodName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodNameCheck"/>
<module name="MethodParamPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck"/>
<module name="MethodTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodTypeParameterNameCheck"/>
<module name="MissingDeprecated"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.MissingDeprecatedCheck"/>
<module name="MissingSwitchDefault"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck"/>
<module name="ModifiedControlVariable"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.ModifiedControlVariableCheck">
<property name="skipEnhancedForLoopVariable" value="true"/> <property name="skipEnhancedForLoopVariable" value="true"/>
</module> </module>
<module name="ModifierOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.ModifierOrderCheck"/>
<module name="MultipleStringLiterals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleStringLiteralsCheck"/>
<module name="MultipleVariableDeclarations"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheck"/>
<module name="MutableException"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.MutableExceptionCheck"/>
<module name="NeedBraces"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck"/>
<module name="NoClone"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NoCloneCheck"/>
<module name="NoFinalizer"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NoFinalizerCheck"/>
<module name="NoLineWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoLineWrapCheck"/>
<module name="NonEmptyAtclauseDescription"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.NonEmptyAtclauseDescriptionCheck"/>
<module name="NoWhitespaceAfter"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="allowLineBreaks" value="false"/> <property name="allowLineBreaks" value="false"/>
</module> </module>
<module name="NoWhitespaceBefore"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck"/>
<module name="OneStatementPerLine"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck"/>
<module name="OneTopLevelClass"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.OneTopLevelClassCheck"/>
<module name="OperatorWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"/>
<module name="OuterTypeFilename"/> <module name="com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck"/>
<module name="OverloadMethodsDeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>
<module name="PackageAnnotation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.PackageAnnotationCheck"/>
<module name="PackageDeclaration"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.PackageDeclarationCheck"/>
<module name="PackageName"> <module name="com.puppycrawl.tools.checkstyle.checks.naming.PackageNameCheck">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/> <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/>
</module> </module>
<module name="ParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheck"/>
<module name="ParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck"/>
<module name="RedundantModifier"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.RedundantModifierCheck"/>
<module name="RequireThis"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck">
<property name="checkMethods" value="false"/> <property name="checkMethods" value="false"/>
</module> </module>
<module name="RightCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
<module name="SeparatorWrap"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="option" value="nl"/> <property name="option" value="nl"/>
</module> </module>
<module name="SingleSpaceSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheck"/>
<module name="StaticVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.StaticVariableNameCheck"/>
<module name="StringLiteralEquality"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.StringLiteralEqualityCheck"/>
<module name="SuppressWarnings"> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheck">
<property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/> <property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/>
</module> </module>
<module name="SuppressWarningsHolder"/> <module name="com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder"/>
<module name="TodoComment"> <module name="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck">
<property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/> <property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/>
</module> </module>
<module name="TrailingComment"/> <module name="com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck"/>
<module name="TypecastParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck"/>
<module name="TypeName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheck"/>
<module name="UncommentedMain"> <module name="com.puppycrawl.tools.checkstyle.checks.UncommentedMainCheck">
<property name="excludedClasses" value="(Main|Application)$"/> <property name="excludedClasses" value="(Main|Application)$"/>
</module> </module>
<module name="UnnecessaryParentheses"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck"/>
<module name="UnusedImports"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>
<module name="UpperEll"/> <module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"/>
<module name="VariableDeclarationUsageDistance"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck"/>
<module name="VisibilityModifier"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck"/>
<module name="WhitespaceAfter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck"/>
<module name="WhitespaceAround"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<module name="AvoidConstantAsFirstOperandInCondition"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidConstantAsFirstOperandInConditionCheck"/>
<module name="AvoidHidingCauseException"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidHidingCauseExceptionCheck"/>
<module name="AvoidNotShortCircuitOperatorsForBoolean"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidNotShortCircuitOperatorsForBooleanCheck"/>
<module name="DiamondOperatorForVariableDefinition"/> <module name="com.github.sevntu.checkstyle.checks.coding.DiamondOperatorForVariableDefinitionCheck"/>
<module name="EitherLogOrThrow"/> <module name="com.github.sevntu.checkstyle.checks.coding.EitherLogOrThrowCheck"/>
<module name="EnumValueName"/> <module name="com.github.sevntu.checkstyle.checks.naming.EnumValueNameCheck"/>
<module name="ForbidCCommentsInMethods"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethodsCheck"/>
<module name="LogicConditionNeedOptimization"/> <module name="com.github.sevntu.checkstyle.checks.coding.LogicConditionNeedOptimizationCheck"/>
<module name="NameConventionForJunit4TestClasses"/> <module name="com.github.sevntu.checkstyle.checks.coding.NameConventionForJunit4TestClassesCheck"/>
<module name="NoMainMethodInAbstractClass"/> <module name="com.github.sevntu.checkstyle.checks.design.NoMainMethodInAbstractClassCheck"/>
<module name="NumericLiteralNeedsUnderscore"/> <module name="com.github.sevntu.checkstyle.checks.coding.NumericLiteralNeedsUnderscoreCheck"/>
<module name="OverridableMethodInConstructor"/> <module name="com.github.sevntu.checkstyle.checks.coding.OverridableMethodInConstructorCheck"/>
<module name="PublicReferenceToPrivateType"/> <module name="com.github.sevntu.checkstyle.checks.design.PublicReferenceToPrivateTypeCheck"/>
<module name="RedundantReturn"/> <module name="com.github.sevntu.checkstyle.checks.coding.RedundantReturnCheck"/>
<module name="ReturnBooleanFromTernary"/> <module name="com.github.sevntu.checkstyle.checks.coding.ReturnBooleanFromTernaryCheck"/>
<module name="ReturnNullInsteadOfBoolean"/> <module name="com.github.sevntu.checkstyle.checks.coding.ReturnNullInsteadOfBooleanCheck"/>
<module name="SimpleAccessorNameNotation"/> <module name="com.github.sevntu.checkstyle.checks.coding.SimpleAccessorNameNotationCheck"/>
<module name="SingleBreakOrContinue"/> <module name="com.github.sevntu.checkstyle.checks.coding.SingleBreakOrContinueCheck"/>
<module name="TernaryPerExpressionCount"/> <module name="com.github.sevntu.checkstyle.checks.coding.TernaryPerExpressionCountCheck"/>
<module name="UniformEnumConstantName"/> <module name="com.github.sevntu.checkstyle.checks.naming.UniformEnumConstantNameCheck"/>
<module name="UselessSingleCatch"/> <module name="com.github.sevntu.checkstyle.checks.coding.UselessSingleCatchCheck"/>
<module name="UselessSuperCtorCall"/> <module name="com.github.sevntu.checkstyle.checks.coding.UselessSuperCtorCallCheck"/>
<module name="MoveVariableInsideIfCheck"/> <module name="com.github.sevntu.checkstyle.checks.coding.MoveVariableInsideIfCheck"/>
</module><!-- /TreeWalker --> </module><!-- /TreeWalker -->
</module><!-- /Checker --> </module><!-- /Checker -->

View file

@ -4,232 +4,233 @@
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker"> <module name="Checker">
<module name="RegexpOnFilename"> <module name="com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheck">
<property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/> <property name="fileNamePattern" value="(.sync-conflict-| conflicted copy )"/>
<property name="match" value="true"/> <property name="match" value="true"/>
</module> </module>
<module name="FileLength"/> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.FileLengthCheck"/>
<module name="FileTabCharacter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<module name="Header"> <module name="com.puppycrawl.tools.checkstyle.checks.header.HeaderCheck">
<property name="fileExtensions" value="java"/> <property name="fileExtensions" value="java"/>
<property name="headerFile" value="LICENSE.txt"/> <property name="headerFile" value="LICENSE.txt"/>
</module> </module>
<module name="JavadocPackage"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocPackageCheck"/>
<module name="NewlineAtEndOfFile"> <module name="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck">
<property name="lineSeparator" value="lf"/> <property name="lineSeparator" value="lf"/>
</module> </module>
<module name="SuppressWarningsFilter"/> <module name="com.puppycrawl.tools.checkstyle.filters.SuppressWarningsFilter"/>
<module name="Translation"/> <module name="com.puppycrawl.tools.checkstyle.checks.TranslationCheck"/>
<module name="UniqueProperties"/> <module name="com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheck"/>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="AbbreviationAsWordInName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbbreviationAsWordInNameCheck"/>
<module name="AbstractClassName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.AbstractClassNameCheck"/>
<module name="AnnotationLocation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck"/>
<module name="AnnotationUseStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck"/>
<module name="AnonInnerLength"/> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.AnonInnerLengthCheck"/>
<module name="ArrayTypeStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck"/>
<module name="AtclauseOrder"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.AtclauseOrderCheck">
<property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/> <property name="tagOrder" value="@param, @author, @version, @serial, @return, @throws, @exception, @serialData, @serialField, @see, @since, @deprecated"/>
</module> </module>
<module name="AvoidEscapedUnicodeCharacters"> <module name="com.puppycrawl.tools.checkstyle.checks.AvoidEscapedUnicodeCharactersCheck">
<property name="allowEscapesForControlCharacters" value="true"/> <property name="allowEscapesForControlCharacters" value="true"/>
</module> </module>
<module name="AvoidInlineConditionals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.AvoidInlineConditionalsCheck"/>
<module name="AvoidNestedBlocks"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.AvoidNestedBlocksCheck"/>
<module name="AvoidStarImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStarImportCheck"/>
<module name="AvoidStaticImport"> <module name="com.puppycrawl.tools.checkstyle.checks.imports.AvoidStaticImportCheck">
<property name="excludes" value="org.assertj.core.api.Assertions.assertThat,org.mockito.BDDMockito.given,org.mockito.Mockito.*,org.mockito.Matchers.*,org.mockito.Mockito.*"/> <property name="excludes" value="org.assertj.core.api.Assertions.assertThat,org.mockito.BDDMockito.given,org.mockito.Mockito.*,org.mockito.Matchers.*,org.mockito.Mockito.*"/>
</module> </module>
<module name="BooleanExpressionComplexity"> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.BooleanExpressionComplexityCheck">
<property name="max" value="2"/> <property name="max" value="2"/>
</module> </module>
<module name="CatchParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.CatchParameterNameCheck"/>
<module name="ClassDataAbstractionCoupling"/> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.ClassDataAbstractionCouplingCheck"/>
<module name="ClassFanOutComplexity"/> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.ClassFanOutComplexityCheck"/>
<module name="ClassTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ClassTypeParameterNameCheck"/>
<module name="CommentsIndentation"/> <module name="com.puppycrawl.tools.checkstyle.checks.indentation.CommentsIndentationCheck"/>
<module name="ConstantName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ConstantNameCheck"/>
<module name="CovariantEquals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.CovariantEqualsCheck"/>
<module name="CyclomaticComplexity"> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.CyclomaticComplexityCheck">
<property name="max" value="5"/> <property name="max" value="5"/>
</module> </module>
<module name="DeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DeclarationOrderCheck"/>
<module name="DefaultComesLast"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.DefaultComesLastCheck"/>
<module name="DesignForExtension"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck"/>
<module name="EmptyBlock"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.EmptyBlockCheck"/>
<module name="EmptyCatchBlock"> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.EmptyCatchBlockCheck">
<property name="commentFormat" value="expected|ignore"/> <property name="commentFormat" value="expected|ignore"/>
</module> </module>
<module name="EmptyForInitializerPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForInitializerPadCheck"/>
<module name="EmptyForIteratorPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyForIteratorPadCheck"/>
<module name="EmptyLineSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheck"/>
<module name="EmptyStatement"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EmptyStatementCheck"/>
<module name="EqualsAvoidNull"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck"/>
<module name="EqualsHashCode"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.EqualsHashCodeCheck"/>
<module name="ExecutableStatementCount"/> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.ExecutableStatementCountCheck"/>
<module name="ExplicitInitialization"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.ExplicitInitializationCheck"/>
<module name="FallThrough"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.FallThroughCheck"/>
<module name="FinalClass"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.FinalClassCheck"/>
<module name="FinalParameters"/> <module name="com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck"/>
<module name="GenericWhitespace"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.GenericWhitespaceCheck"/>
<module name="HiddenField"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.HiddenFieldCheck">
<property name="ignoreConstructorParameter" value="true"/> <property name="ignoreConstructorParameter" value="true"/>
<property name="ignoreSetter" value="true"/> <property name="ignoreSetter" value="true"/>
</module> </module>
<module name="HideUtilityClassConstructor"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.HideUtilityClassConstructorCheck"/>
<module name="IllegalCatch"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"/>
<module name="IllegalImport"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck"/>
<module name="IllegalThrows"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalThrowsCheck"/>
<module name="IllegalToken"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalTokenCheck"/>
<module name="IllegalType"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.IllegalTypeCheck">
<property name="illegalClassNames" value="java.util.ArrayDeque, java.util.ArrayList, java.util.EnumMap, java.util.EnumSet, java.util.HashMap, java.util.HashSet, java.util.IdentityHashMap, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.PriorityQueue, java.util.TreeMap, java.util.TreeSet"/> <property name="illegalClassNames" value="java.util.ArrayDeque, java.util.ArrayList, java.util.EnumMap, java.util.EnumSet, java.util.HashMap, java.util.HashSet, java.util.IdentityHashMap, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.LinkedList, java.util.PriorityQueue, java.util.TreeMap, java.util.TreeSet"/>
</module> </module>
<module name="InnerAssignment"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.InnerAssignmentCheck"/>
<module name="InnerTypeLast"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.InnerTypeLastCheck"/>
<module name="InterfaceIsType"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.InterfaceIsTypeCheck"/>
<module name="InterfaceTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.InterfaceTypeParameterNameCheck"/>
<module name="JavadocMethod"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck">
<property name="allowMissingPropertyJavadoc" value="true"/> <property name="allowMissingPropertyJavadoc" value="true"/>
<property name="validateThrows" value="true"/> <property name="validateThrows" value="true"/>
<property name="scope" value="package"/> <property name="scope" value="package"/>
</module> </module>
<module name="JavadocParagraph"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocParagraphCheck"/>
<module name="JavadocStyle"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocStyleCheck"/>
<module name="JavadocType"> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck">
<property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/> <property name="authorFormat" value="^.+ (\S+@[\S.]+)$"/>
</module> </module>
<module name="JavaNCSS"> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.JavaNCSSCheck">
<property name="classMaximum" value="1200"/> <property name="classMaximum" value="1200"/>
<property name="fileMaximum" value="1600"/> <property name="fileMaximum" value="1600"/>
<property name="methodMaximum" value="40"/> <property name="methodMaximum" value="40"/>
</module> </module>
<module name="LeftCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.LeftCurlyCheck"/>
<module name="LineLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck">
<property name="max" value="120"/> <property name="max" value="120"/>
</module> </module>
<module name="LocalFinalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalFinalVariableNameCheck"/>
<module name="LocalVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.LocalVariableNameCheck"/>
<module name="MagicNumber"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck"/>
<module name="MemberName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck"/>
<module name="MethodCount"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.MethodCountCheck">
<property name="maxTotal" value="30"/> <property name="maxTotal" value="30"/>
</module> </module>
<module name="MethodLength"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.MethodLengthCheck">
<property name="max" value="40"/> <property name="max" value="40"/>
</module> </module>
<module name="MethodName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodNameCheck"/>
<module name="MethodParamPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck"/>
<module name="MethodTypeParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.MethodTypeParameterNameCheck"/>
<module name="MissingDeprecated"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.MissingDeprecatedCheck"/>
<module name="MissingSwitchDefault"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MissingSwitchDefaultCheck"/>
<module name="ModifiedControlVariable"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.ModifiedControlVariableCheck">
<property name="skipEnhancedForLoopVariable" value="true"/> <property name="skipEnhancedForLoopVariable" value="true"/>
</module> </module>
<module name="ModifierOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.ModifierOrderCheck"/>
<module name="MultipleStringLiterals"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleStringLiteralsCheck"/>
<module name="MultipleVariableDeclarations"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheck"/>
<module name="MutableException"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.MutableExceptionCheck"/>
<module name="NeedBraces"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.NeedBracesCheck"/>
<module name="NestedForDepth"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedForDepthCheck"/>
<module name="NestedIfDepth"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedIfDepthCheck"/>
<module name="NestedTryDepth"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NestedTryDepthCheck">
<property name="max" value="0"/> <property name="max" value="0"/>
</module> </module>
<module name="NoClone"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NoCloneCheck"/>
<module name="NoFinalizer"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.NoFinalizerCheck"/>
<module name="NoLineWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoLineWrapCheck"/>
<module name="NonEmptyAtclauseDescription"/> <module name="com.puppycrawl.tools.checkstyle.checks.javadoc.NonEmptyAtclauseDescriptionCheck"/>
<module name="NoWhitespaceAfter"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="allowLineBreaks" value="false"/> <property name="allowLineBreaks" value="false"/>
</module> </module>
<module name="NoWhitespaceBefore"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceBeforeCheck"/>
<module name="NPathComplexity"> <module name="com.puppycrawl.tools.checkstyle.checks.metrics.NPathComplexityCheck">
<property name="max" value="5"/> <property name="max" value="5"/>
</module> </module>
<module name="OneStatementPerLine"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OneStatementPerLineCheck"/>
<module name="OneTopLevelClass"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.OneTopLevelClassCheck"/>
<module name="OperatorWrap"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.OperatorWrapCheck"/>
<module name="OuterTypeFilename"/> <module name="com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck"/>
<module name="OverloadMethodsDeclarationOrder"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.OverloadMethodsDeclarationOrderCheck"/>
<module name="PackageAnnotation"/> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.PackageAnnotationCheck"/>
<module name="PackageDeclaration"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.PackageDeclarationCheck"/>
<module name="PackageName"> <module name="com.puppycrawl.tools.checkstyle.checks.naming.PackageNameCheck">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/> <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]+)*$"/>
</module> </module>
<module name="ParameterName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheck"/>
<module name="ParameterNumber"> <module name="com.puppycrawl.tools.checkstyle.checks.sizes.ParameterNumberCheck">
<property name="ignoreOverriddenMethods" value="true"/> <property name="ignoreOverriddenMethods" value="true"/>
</module> </module>
<module name="ParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.ParenPadCheck"/>
<module name="RedundantModifier"/> <module name="com.puppycrawl.tools.checkstyle.checks.modifier.RedundantModifierCheck"/>
<module name="RequireThis"> <module name="com.puppycrawl.tools.checkstyle.checks.coding.RequireThisCheck">
<property name="checkMethods" value="false"/> <property name="checkMethods" value="false"/>
</module> </module>
<module name="ReturnCount"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.ReturnCountCheck"/>
<module name="RightCurly"/> <module name="com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck"/>
<module name="SeparatorWrap"> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck">
<property name="tokens" value="DOT"/> <property name="tokens" value="DOT"/>
<property name="option" value="nl"/> <property name="option" value="nl"/>
</module> </module>
<module name="SimplifyBooleanExpression"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.SimplifyBooleanExpressionCheck"/>
<module name="SimplifyBooleanReturn"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.SimplifyBooleanReturnCheck"/>
<module name="SingleSpaceSeparator"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheck"/>
<module name="StaticVariableName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.StaticVariableNameCheck"/>
<module name="StringLiteralEquality"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.StringLiteralEqualityCheck"/>
<module name="SuppressWarnings"> <module name="com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheck">
<property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/> <property name="format" value="^constantname|covariantequals|equalshashcode|noclone|onetoplevelclass|outertypefilename|packagedeclaration|typename|visibilitymodifier$"/>
</module> </module>
<module name="SuppressWarningsHolder"/> <module name="com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder"/>
<module name="ThrowsCount"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.ThrowsCountCheck"/>
<module name="TodoComment"> <module name="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck">
<property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/> <property name="format" value="^(\s*\*).*((TODO)|(FIXME))"/>
</module> </module>
<module name="TrailingComment"/> <module name="com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck"/>
<module name="TypecastParenPad"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.TypecastParenPadCheck"/>
<module name="TypeName"/> <module name="com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheck"/>
<module name="UncommentedMain"> <module name="com.puppycrawl.tools.checkstyle.checks.UncommentedMainCheck">
<property name="excludedClasses" value="(Main|Application)$"/> <property name="excludedClasses" value="(Main|Application)$"/>
</module> </module>
<module name="UnnecessaryParentheses"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.UnnecessaryParenthesesCheck"/>
<module name="UnusedImports"/> <module name="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>
<module name="UpperEll"/> <module name="com.puppycrawl.tools.checkstyle.checks.UpperEllCheck"/>
<module name="VariableDeclarationUsageDistance"/> <module name="com.puppycrawl.tools.checkstyle.checks.coding.VariableDeclarationUsageDistanceCheck"/>
<module name="VisibilityModifier"/> <module name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck"/>
<module name="WhitespaceAfter"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck"/>
<module name="WhitespaceAround"/> <module name="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<module name="AvoidConstantAsFirstOperandInCondition"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidConstantAsFirstOperandInConditionCheck"/>
<module name="AvoidHidingCauseException"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidHidingCauseExceptionCheck"/>
<module name="AvoidNotShortCircuitOperatorsForBoolean"/> <module name="com.github.sevntu.checkstyle.checks.coding.AvoidNotShortCircuitOperatorsForBooleanCheck"/>
<module name="ConfusingCondition"/> <module name="com.github.sevntu.checkstyle.checks.coding.ConfusingConditionCheck"/>
<module name="ConstructorWithoutParams"/> <module name="com.github.sevntu.checkstyle.checks.design.ConstructorWithoutParamsCheck"/>
<module name="DiamondOperatorForVariableDefinition"/> <module name="com.github.sevntu.checkstyle.checks.coding.DiamondOperatorForVariableDefinitionCheck"/>
<module name="EitherLogOrThrow"/> <module name="com.github.sevntu.checkstyle.checks.coding.EitherLogOrThrowCheck"/>
<module name="EnumValueName"/> <module name="com.github.sevntu.checkstyle.checks.naming.EnumValueNameCheck"/>
<module name="ForbidCCommentsInMethods"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidCCommentsInMethodsCheck"/>
<module name="ForbidReturnInFinallyBlock"/> <module name="com.github.sevntu.checkstyle.checks.coding.ForbidReturnInFinallyBlockCheck"/>
<module name="ForbidWildcardAsReturnType"/> <module name="com.github.sevntu.checkstyle.checks.design.ForbidWildcardAsReturnTypeCheck"/>
<module name="LogicConditionNeedOptimization"/> <module name="com.github.sevntu.checkstyle.checks.coding.LogicConditionNeedOptimizationCheck"/>
<module name="MapIterationInForEachLoop"/> <module name="com.github.sevntu.checkstyle.checks.coding.MapIterationInForEachLoopCheck"/>
<module name="NameConventionForJunit4TestClasses"/> <module name="com.github.sevntu.checkstyle.checks.coding.NameConventionForJunit4TestClassesCheck"/>
<module name="NestedSwitch"/> <module name="com.github.sevntu.checkstyle.checks.design.NestedSwitchCheck"/>
<module name="NoMainMethodInAbstractClass"/> <module name="com.github.sevntu.checkstyle.checks.design.NoMainMethodInAbstractClassCheck"/>
<module name="NumericLiteralNeedsUnderscore"/> <module name="com.github.sevntu.checkstyle.checks.coding.NumericLiteralNeedsUnderscoreCheck"/>
<module name="OverridableMethodInConstructor"/> <module name="com.github.sevntu.checkstyle.checks.coding.OverridableMethodInConstructorCheck"/>
<module name="PublicReferenceToPrivateType"/> <module name="com.github.sevntu.checkstyle.checks.design.PublicReferenceToPrivateTypeCheck"/>
<module name="RedundantReturn"/> <module name="com.github.sevntu.checkstyle.checks.coding.RedundantReturnCheck"/>
<module name="ReturnBooleanFromTernary"/> <module name="com.github.sevntu.checkstyle.checks.coding.ReturnBooleanFromTernaryCheck"/>
<module name="ReturnNullInsteadOfBoolean"/> <module name="com.github.sevntu.checkstyle.checks.coding.ReturnNullInsteadOfBooleanCheck"/>
<module name="SimpleAccessorNameNotation"/> <module name="com.github.sevntu.checkstyle.checks.coding.SimpleAccessorNameNotationCheck"/>
<module name="SingleBreakOrContinue"/> <module name="com.github.sevntu.checkstyle.checks.coding.SingleBreakOrContinueCheck"/>
<module name="TernaryPerExpressionCount"/> <module name="com.github.sevntu.checkstyle.checks.coding.TernaryPerExpressionCountCheck"/>
<module name="UniformEnumConstantName"/> <module name="com.github.sevntu.checkstyle.checks.naming.UniformEnumConstantNameCheck"/>
<module name="UselessSingleCatch"/> <module name="com.github.sevntu.checkstyle.checks.coding.UselessSingleCatchCheck"/>
<module name="UselessSuperCtorCall"/> <module name="com.github.sevntu.checkstyle.checks.coding.UselessSuperCtorCallCheck"/>
<module name="MoveVariableInsideIfCheck"/> <module name="com.github.sevntu.checkstyle.checks.coding.MoveVariableInsideIfCheck"/>
</module><!-- /TreeWalker --> </module><!-- /TreeWalker -->
</module><!-- /Checker --> </module><!-- /Checker -->