+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE module PUBLIC
- "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
- "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!--
-
- A Checkstyle configuration that checks against the recommendations
- in Joshua Bloch, Effective Java (highliy recommended read!)
-
- This file does NOT duplicate the checks for whitespace settings,
- placement of curly braces, etc. Only the rules that are explicitly
- mentioned in the book are enforced.
-
- Currently the amount of rules that can be automatically checked by
- Checkstyle is not very large, but adding more checks of this quality
- is a high priority goal for the development team.
-
--->
-
-<module name="Checker">
-
- <!-- Item 6 - Avoid finalizers -->
- <module name="RegexpMultiline">
- <property name="format"
- value="((public)|(protected))\s+void\s+finalize\(\s*\)"/>
- </module>
-
- <module name="FileTabCharacter"/>
-
- <module name="TreeWalker">
-
- <!-- Item 4 - Avoid creating duplicate objects -->
- <module name="IllegalInstantiation">
- <property name="classes" value="java.lang.Boolean, java.lang.String"/>
- </module>
-
- <!-- Item 8 - Always override hashCode when you override equals -->
- <module name="EqualsHashCode"/>
-
- <!-- Item 12 - Make all fields private -->
- <module name="VisibilityModifier"/>
-
- <!-- Item 15 - Design and document for inheritance or else prohibit it -->
- <!-- the module actually implements a very strict rule, it would be
- interesting to know whether Joshua meant what checkstyle implements.
- We feel this implementation is well suited as a warning,
- i.e. if you get error messages from this check you should be
- able to name a good reason to implement your code the way you do it,
- especially if you are designing a library and not an application. -->
- <!-- module name="DesignForExtension">
- <property name="severity" value="warning"/>
- </module -->
-
- <!-- Item 17 - Use interfaces only to define types -->
- <module name="InterfaceIsType"/>
-
- <!-- Item 25 - Design method signatures carefully -->
- <!-- Avoid long parameter lists -->
- <module name="ParameterNumber">
- <property name="max" value="5"/>
- </module>
-
- <!-- Item 26 - Use overloading judiciously -->
- <!-- rfe #659735 -->
-
- <!-- Item 27 - Return zero-length array, not nulls -->
- <!-- no rfe yet -->
-
- <!-- Item 28 - Write doc comments for everything -->
- <!-- module name="JavadocType">
- <property name="scope" value="private"/>
- </module>
- <module name="JavadocMethod">
- <property name="scope" value="private"/>
- <property name="allowUndeclaredRTE" value="true"/>
- </module>
- <module name="JavadocVariable">
- <property name="scope" value="private"/>
- </module -->
-
- <!-- Item 29 - Minimize the scope of local variables -->
- <!-- no rfe yet -->
-
-
- <!-- Item 38 - Adhere to generally accepted naming conventions -->
- <module name="PackageName">
- <!-- no uppercase letters, between 2 and 8 characters -->
- <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]{1,15})*$"/>
- </module>
- <module name="TypeName"/>
- <module name="ConstantName"/>
- <module name="LocalFinalVariableName"/>
- <module name="LocalVariableName"/>
- <module name="MemberName"/>
- <module name="MethodName"/>
- <module name="ParameterName">
- <property name="format" value="^a[A-Z][a-zA-Z0-9]*$"/>
- </module>
- <module name="StaticVariableName">
- <property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
- </module>
-
- <!-- Item 47 - Don't ignore exceptions -->
- <module name="EmptyBlock">
- <property name="tokens" value="LITERAL_CATCH"/>
- <!-- require a comment, change to stmt to require a statement -->
- <property name="option" value="text"/>
- </module>
-
- <!-- Item 50 - Never invoke wait outside a loop -->
- <!-- rfe #712798 -->
-
- <!-- Item 57 - Provide a readResolve method when necessary -->
- <!-- no rfe yet -->
-
- <!-- code layout -->
- <module name="LeftCurly">
- <property name="option" value="eol"/>
- </module>
- <module name="RightCurly">
- <property name="option" value="same"/>
- </module>
- <module name="NeedBraces"/>
- <module name="OperatorWrap">
- <property name="option" value="eol"/>
- </module>
- <module name="NoWhitespaceAfter">
- <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS"/>
- </module>
- <module name="NoWhitespaceBefore"/>
- <module name="ParenPad"/>
-
- </module>
-
-</module>