<!-- See http://checkstyle.sourceforge.net/availablechecks.html for documentation on available checks -->
<modulename="Checker">
<!-- Checks to see if a file contains a tab character. -->
<modulename="FileTabCharacter">
<propertyname="eachLine"value="true"/>
</module>
<!-- Checks for trailing whitespace. -->
<modulename="RegexpSingleline">
<!-- \s matches whitespace character, $ matches end of line. -->
<propertyname="format"value="\s+$"/>
<propertyname="message"value="Line has trailing spaces."/>
</module>
<modulename="TreeWalker">
<!-- Checks for imports -->
<modulename="AvoidStarImport"/>
<modulename="RedundantImport"/>
<modulename="UnusedImports"/>
<!-- Modifier Checks -->
<modulename="ModifierOrder"/>
<modulename="RedundantModifier"/>
<!-- Checks for common coding problems -->
<modulename="EmptyStatement"/>
<!-- Checks that classes that override equals() also override hashCode(). -->
<modulename="EqualsHashCode"/>
<!-- Checks for illegal instantiations where a factory method is preferred. -->
<modulename="IllegalInstantiation"/>
<!-- Checks for redundant exceptions declared in throws clause such as duplicates, unchecked exceptions or subclasses of another declared exception. -->
<modulename="RedundantThrows">
<propertyname="allowUnchecked"value="true"/>
</module>
<!-- Checks that long constants are defined with an upper ell. -->
<modulename="UpperEll"/>
<!-- This check makes sure that all package annotations are in the package-info.java file. -->
<modulename="PackageAnnotation"/>
<!-- Checks that if a class defines a covariant method equals, then it defines method equals(java.lang.Object). -->
<modulename="CovariantEquals"/>
<!-- Checks the style of array type definitions. -->
<modulename="ArrayTypeStyle"/>
<!-- Make sure left curly braces are on a new line. Note, this is not the recommendation from Sun. It is a legacy preference. -->
<modulename="LeftCurly">
<propertyname="option"value="nl"/>
</module>
<!-- Make sure right curly braces are on a new line by itself. Note, this is not the recommendation from Sun. It is a legacy preference. -->
<modulename="RightCurly">
<propertyname="option"value="alone"/>
</module>
<!-- Checks that there is no whitespace after certain tokens; e.g. "." and "!". -->
<modulename="NoWhitespaceAfter"/>
<!-- Checks that there is no whitespace before certain tokens; e.g. "++" and ";". -->
<modulename="NoWhitespaceBefore"/>
<!-- Checks that most tokens are surrounded by whitespace. RCURLY is omitted so we can do stuff like "new Thread(){...}.start()". -->
<!-- Ensure there is no space between the identifier of a method definition, constructor definition, method call, or constructor invocation and the left parenthesis of the parameter list. -->