blob: 5bebc123c22faaa94904a345cd07901ab9837167 [file] [log] [blame]
<!--
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.
-->
<?xml version="1.0" encoding="UTF-8"?>
<pmd>
<useProjectRuleSet>false</useProjectRuleSet>
<ruleSetFile>.ruleset</ruleSetFile>
<rules>
<rule>
<name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidMultipleUnaryOperators</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidThreadGroup</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingHardCodedIP</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingOctalValues</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BigIntegerInstantiation</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BooleanInstantiation</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>BrokenNullCheck</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>CheckResultSet</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ClassCastExceptionWithToArray</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>CollapsibleIfStatements</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>DoubleCheckedLocking</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyCatchBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyFinallyBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyIfStmt</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyStatementNotInLoop</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyStaticInitializer</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptySwitchStatements</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptySynchronizedBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyTryBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>EmptyWhileStmt</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ForLoopShouldBeWhileLoop</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>JumbledIncrementer</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>MisplacedNullCheck</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>OverrideBothEqualsAndHashcode</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ReturnFromFinallyBlock</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnconditionalIfStatement</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryConversionTemporary</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryFinalModifier</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryReturn</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UnusedNullCheckInEquals</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UselessOperationOnImmutable</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>UselessOverridingMethod</name>
<ruleset>Basic Rules</ruleset>
</rule>
<rule>
<name>ForLoopsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>IfElseStmtsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>IfStmtsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>WhileLoopsMustUseBraces</name>
<ruleset>Braces Rules</ruleset>
</rule>
<rule>
<name>CloneThrowsCloneNotSupportedException</name>
<ruleset>Clone Implementation Rules</ruleset>
</rule>
<rule>
<name>ProperCloneImplementation</name>
<ruleset>Clone Implementation Rules</ruleset>
</rule>
<rule>
<name>CyclomaticComplexity</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>ExcessiveClassLength</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>ExcessivePublicCount</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>NcssConstructorCount</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>NPathComplexity</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>TooManyFields</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>TooManyMethods</name>
<ruleset>Code Size Rules</ruleset>
</rule>
<rule>
<name>AssignmentInOperand</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AtLeastOneConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidAccessibilityAlteration</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>AvoidUsingNativeCode</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>BooleanInversion</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>CallSuperInConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DataflowAnomalyAnalysis</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DefaultPackage</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DoNotCallGarbageCollectionExplicitly</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>DontImportSun</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>SuspiciousOctalEscape</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryConstructor</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryParentheses</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>UnusedModifier</name>
<ruleset>Controversial Rules</ruleset>
</rule>
<rule>
<name>CouplingBetweenObjects</name>
<ruleset>Coupling Rules</ruleset>
</rule>
<rule>
<name>ExcessiveImports</name>
<ruleset>Coupling Rules</ruleset>
</rule>
<rule>
<name>AbstractClassWithoutAbstractMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AbstractClassWithoutAnyMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AccessorClassGeneration</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AssignmentToNonFinalStatic</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidConstantsInterface</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidDeeplyNestedIfStmts</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidInstanceofChecksInCatchClause</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidProtectedFieldInFinalClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidReassigningParameters</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidSynchronizedAtMethodLevel</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>BadComparison</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>CloseResource</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>CompareObjectsWithEquals</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ConfusingTernary</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ConstructorCallsOverridableMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>DefaultLabelNotLastInSwitchStmt</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>EqualsNull</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>FinalFieldCouldBeStatic</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>IdempotentOperations</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ImmutableField</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>InstantiationToGetClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>MissingBreakInSwitch</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>MissingStaticMethodInNonInstantiatableClass</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonCaseLabelInSwitchStatement</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonStaticInitializer</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>NonThreadSafeSingleton</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>OptimizableToArrayCall</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>PositionLiteralsFirstInComparisons</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>PreserveStackTrace</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>ReturnEmptyArrayRatherThanNull</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimpleDateFormatNeedsLocale</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanExpressions</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanReturns</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SimplifyConditional</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SingularField</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SwitchDensity</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>SwitchStmtsShouldHaveDefault</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>TooFewBranchesForASwitchStatement</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UncommentedEmptyConstructor</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UncommentedEmptyMethod</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryLocalBeforeReturn</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UnsynchronizedStaticDateFormatter</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseCollectionIsEmpty</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseLocaleWithCaseConversions</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseNotifyAllInsteadOfNotify</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>UseSingleton</name>
<ruleset>Design Rules</ruleset>
</rule>
<rule>
<name>AvoidCallingFinalize</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>EmptyFinalizer</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>FinalizeDoesNotCallSuperFinalize</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>FinalizeShouldBeProtected</name>
<ruleset>Finalizer Rules</ruleset>
</rule>
<rule>
<name>DontImportJavaLang</name>
<ruleset>Import Statement Rules</ruleset>
</rule>
<rule>
<name>DuplicateImports</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>DoNotCallSystemExit</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>DoNotUseThreads</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>LocalHomeNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>LocalInterfaceSessionNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>MDBAndSessionBeanNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>RemoteInterfaceNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>RemoteSessionInterfaceNamingConvention</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>StaticEJBFieldShouldBeFinal</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>UseProperClassLoader</name>
<ruleset>J2EE Rules</ruleset>
</rule>
<rule>
<name>ProperLogger</name>
<ruleset>Jakarta Commons Logging Rules</ruleset>
</rule>
<rule>
<name>UseCorrectExceptionLogging</name>
<ruleset>Jakarta Commons Logging Rules</ruleset>
</rule>
<rule>
<name>AvoidPrintStackTrace</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>LoggerIsNotStaticFinal</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>MoreThanOneLogger</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>SystemPrintln</name>
<ruleset>Java Logging Rules</ruleset>
</rule>
<rule>
<name>MissingSerialVersionUID</name>
<ruleset>JavaBean Rules</ruleset>
</rule>
<rule>
<name>JUnitAssertionsShouldIncludeMessage</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitSpelling</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitStaticSuite</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>JUnitTestsShouldIncludeAssert</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>SimplifyBooleanAssertion</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>UseAssertNullInsteadOfAssertTrue</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>UseAssertSameInsteadOfAssertTrue</name>
<ruleset>JUnit Rules</ruleset>
</rule>
<rule>
<name>AvoidAssertAsIdentifier</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>AvoidEnumAsIdentifier</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ByteInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>IntegerInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4SuitesShouldUseSuiteAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseAfterAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseBeforeAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnit4TestShouldUseTestAnnotation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>JUnitUseExpected</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>LongInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ReplaceEnumerationWithIterator</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ReplaceHashtableWithMap</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ReplaceVectorWithList</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>ShortInstantiation</name>
<ruleset>Migration Rules</ruleset>
</rule>
<rule>
<name>AbstractNaming</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidDollarSigns</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidFieldNameMatchingMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AvoidFieldNameMatchingTypeName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>BooleanGetMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>ClassNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MethodNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MethodWithSameNameAsEnclosingClass</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>MisleadingVariableName</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>ShortMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>ShortVariable</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>SuspiciousHashcodeMethodName</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>VariableNamingConventions</name>
<ruleset>Naming Rules</ruleset>
</rule>
<rule>
<name>AddEmptyString</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>AvoidArrayLoops</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>AvoidInstantiatingObjectsInLoops</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>LocalVariableCouldBeFinal</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>MethodArgumentCouldBeFinal</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>SimplifyStartsWith</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UnnecessaryWrapperObjectCreation</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseArrayListInsteadOfVector</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseArraysAsList</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>UseStringBufferForStringAppends</name>
<ruleset>Optimization Rules</ruleset>
</rule>
<rule>
<name>ArrayIsStoredDirectly</name>
<ruleset>Security Code Guidelines</ruleset>
</rule>
<rule>
<name>MethodReturnsInternalArray</name>
<ruleset>Security Code Guidelines</ruleset>
</rule>
<rule>
<name>AvoidCatchingNPE</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidCatchingThrowable</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidRethrowingException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidThrowingNullPointerException</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AvoidThrowingRawExceptionTypes</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>ExceptionAsFlowControl</name>
<ruleset>Strict Exception Rules</ruleset>
</rule>
<rule>
<name>AppendCharacterWithChar</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>AvoidDuplicateLiterals</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>AvoidStringBufferField</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>ConsecutiveLiteralAppends</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InefficientEmptyStringCheck</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InefficientStringBuffering</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>InsufficientStringBufferDeclaration</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>StringBufferInstantiationWithChar</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>UnnecessaryCaseChange</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseEqualsToCompareStrings</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseIndexOfChar</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UselessStringValueOf</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>UseStringBufferLength</name>
<ruleset>String and StringBuffer Rules</ruleset>
</rule>
<rule>
<name>CloneMethodMustImplementCloneable</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>LooseCoupling</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>SignatureDeclareThrowsException</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>UnusedImports</name>
<ruleset>Type Resolution Rules</ruleset>
</rule>
<rule>
<name>UnusedFormalParameter</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedLocalVariable</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedPrivateField</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
<rule>
<name>UnusedPrivateMethod</name>
<ruleset>Unused Code Rules</ruleset>
</rule>
</rules>
<includeDerivedFiles>false</includeDerivedFiles>
<violationsAsErrors>true</violationsAsErrors>
</pmd>