blob: b5adf0f9c8649a0ca130d116e38b1490a003f8b3 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<pmd>
<useProjectRuleSet>false</useProjectRuleSet>
<ruleSetFile>.ruleset</ruleSetFile>
<rules>
<rule>
<name>LooseCoupling</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>CloneMethodMustImplementCloneable</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>UnusedImports</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>SignatureDeclareThrowsException</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>IfStmtsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>WhileLoopsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>IfElseStmtsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>ForLoopsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>UseSingleton</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanReturns</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanExpressions</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SwitchStmtsShouldHaveDefault</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidDeeplyNestedIfStmts</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidReassigningParameters</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SwitchDensity</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ConstructorCallsOverridableMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AccessorClassGeneration</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>FinalFieldCouldBeStatic</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>CloseResource</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonStaticInitializer</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>DefaultLabelNotLastInSwitchStmt</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonCaseLabelInSwitchStatement</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>OptimizableToArrayCall</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>BadComparison</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>EqualsNull</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ConfusingTernary</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>InstantiationToGetClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>IdempotentOperations</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimpleDateFormatNeedsLocale</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ImmutableField</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseLocaleWithCaseConversions</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidProtectedFieldInFinalClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AssignmentToNonFinalStatic</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>MissingStaticMethodInNonInstantiatableClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidSynchronizedAtMethodLevel</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>MissingBreakInSwitch</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseNotifyAllInsteadOfNotify</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidInstanceofChecksInCatchClause</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AbstractClassWithoutAbstractMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyConditional</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>CompareObjectsWithEquals</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>PositionLiteralsFirstInComparisons</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryLocalBeforeReturn</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonThreadSafeSingleton</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UncommentedEmptyMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UncommentedEmptyConstructor</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidConstantsInterface</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UnsynchronizedStaticDateFormatter</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>PreserveStackTrace</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseCollectionIsEmpty</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>EmptyMethodInAbstractClassShouldBeAbstract</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SingularField</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ReturnEmptyArrayRatherThanNull</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AbstractClassWithoutAnyMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>TooFewBranchesForASwitchStatement</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidCatchingThrowable</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>SignatureDeclareThrowsException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>ExceptionAsFlowControl</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidCatchingNPE</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidThrowingRawExceptionTypes</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidThrowingNullPointerException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidRethrowingException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>DoNotExtendJavaLangError</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>DoNotThrowExceptionInFinally</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidThrowingNewInstanceOfSameException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>UnusedPrivateField</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedLocalVariable</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedPrivateMethod</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedFormalParameter</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>MoreThanOneLogger</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>LoggerIsNotStaticFinal</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>SystemPrintln</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>AvoidPrintStackTrace</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>AvoidDuplicateLiterals</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>StringInstantiation</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>StringToString</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InefficientStringBuffering</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryCaseChange</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseStringBufferLength</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>AppendCharacterWithChar</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>ConsecutiveLiteralAppends</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseIndexOfChar</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InefficientEmptyStringCheck</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InsufficientStringBufferDeclaration</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UselessStringValueOf</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>StringBufferInstantiationWithChar</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseEqualsToCompareStrings</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>AvoidStringBufferField</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>ReplaceVectorWithList</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ReplaceHashtableWithMap</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ReplaceEnumerationWithIterator</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>AvoidEnumAsIdentifier</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>AvoidAssertAsIdentifier</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>IntegerInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ByteInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ShortInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>LongInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseBeforeAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseAfterAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseTestAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4SuitesShouldUseSuiteAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnitUseExpected</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>UseProperClassLoader</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>MDBAndSessionBeanNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>RemoteSessionInterfaceNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>LocalInterfaceSessionNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>LocalHomeNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>RemoteInterfaceNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>DoNotCallSystemExit</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>StaticEJBFieldShouldBeFinal</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>DoNotUseThreads</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>LocalVariableCouldBeFinal</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>MethodArgumentCouldBeFinal</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>AvoidInstantiatingObjectsInLoops</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseArrayListInsteadOfVector</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>SimplifyStartsWith</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseStringBufferForStringAppends</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseArraysAsList</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>AvoidArrayLoops</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryWrapperObjectCreation</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>AddEmptyString</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>EmptyCatchBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyIfStmt</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyWhileStmt</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyTryBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyFinallyBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptySwitchStatements</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>JumbledIncrementer</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ForLoopShouldBeWhileLoop</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryConversionTemporary</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>OverrideBothEqualsAndHashcode</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>DoubleCheckedLocking</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ReturnFromFinallyBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptySynchronizedBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryReturn</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyStaticInitializer</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnconditionalIfStatement</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyStatementNotInLoop</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BooleanInstantiation</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryFinalModifier</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>CollapsibleIfStatements</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UselessOverridingMethod</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ClassCastExceptionWithToArray</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UselessOperationOnImmutable</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>MisplacedNullCheck</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnusedNullCheckInEquals</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidThreadGroup</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BrokenNullCheck</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BigIntegerInstantiation</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingOctalValues</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingHardCodedIP</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>CheckResultSet</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidMultipleUnaryOperators</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyInitializer</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>MethodReturnsInternalArray</name>
<ruleset>Security Code Guidelines</ruleset>
</rule>
<rule>
<name>ArrayIsStoredDirectly</name>
<ruleset>Security Code Guidelines</ruleset>
</rule>
<rule>
<name>CouplingBetweenObjects</name>
<ruleset>Coupling Rules</ruleset>
</rule>
<rule>
<name>ExcessiveImports</name>
<ruleset>Coupling Rules</ruleset>
</rule>
<rule>
<name>LooseCoupling</name>
<ruleset>Coupling Rules</ruleset>
</rule>
<rule>
<name>DuplicateImports</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>DontImportJavaLang</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>UnusedImports</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>ImportFromSamePackage</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>TooManyStaticImports</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>JUnitStaticSuite</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitSpelling</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitAssertionsShouldIncludeMessage</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitTestsShouldIncludeAssert</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>TestClassWithoutTestCases</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryBooleanAssertion</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UseAssertEqualsInsteadOfAssertTrue</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UseAssertSameInsteadOfAssertTrue</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UseAssertNullInsteadOfAssertTrue</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanAssertion</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>NullAssignment</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>OnlyOneReturn</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>UnusedModifier</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AssignmentInOperand</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AtLeastOneConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DontImportSun</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>SuspiciousOctalEscape</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>CallSuperInConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryParentheses</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DefaultPackage</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>BooleanInversion</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DataflowAnomalyAnalysis</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidFinalLocalVariable</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingShortType</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingVolatile</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingNativeCode</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidAccessibilityAlteration</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DoNotCallGarbageCollectionExplicitly</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>ShortVariable</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>LongVariable</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>ShortMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>VariableNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MethodNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>ClassNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AbstractNaming</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidDollarSigns</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MethodWithSameNameAsEnclosingClass</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>SuspiciousHashcodeMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>SuspiciousConstantFieldName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>SuspiciousEqualsMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidFieldNameMatchingTypeName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidFieldNameMatchingMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>NoPackage</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>PackageCase</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MisleadingVariableName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>BooleanGetMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>NPathComplexity</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>ExcessiveMethodLength</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>ExcessiveParameterList</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>ExcessiveClassLength</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>CyclomaticComplexity</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>ExcessivePublicCount</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>TooManyFields</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>NcssMethodCount</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>NcssTypeCount</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>NcssConstructorCount</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>TooManyMethods</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>EmptyFinalizer</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>FinalizeOnlyCallsSuperFinalize</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>FinalizeOverloaded</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>FinalizeDoesNotCallSuperFinalize</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>FinalizeShouldBeProtected</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>AvoidCallingFinalize</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>UseCorrectExceptionLogging</name>
<ruleset>Jakarta Commons Logging Rules</ruleset>
</rule>
<rule>
<name>ProperLogger</name>
<ruleset>Jakarta Commons Logging Rules</ruleset>
</rule>
<rule>
<name>BeanMembersShouldSerialize</name>
<ruleset>JavaBean Rules</ruleset>
</rule>
<rule>
<name>MissingSerialVersionUID</name>
<ruleset>JavaBean Rules</ruleset>
</rule>
<rule>
<name>ProperCloneImplementation</name>
<ruleset>Clone Implementation Rules</ruleset>
</rule>
<rule>
<name>CloneThrowsCloneNotSupportedException</name>
<ruleset>Clone Implementation Rules</ruleset>
</rule>
<rule>
<name>CloneMethodMustImplementCloneable</name>
<ruleset>Clone Implementation Rules</ruleset>
</rule>
</rules>
<includeDerivedFiles>false</includeDerivedFiles>
<violationsAsErrors>true</violationsAsErrors>
</pmd>