| <?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. |
| |
| --> |
| <ruleset xmlns="http://pmd.sf.net/ruleset/1.0.0" name="pmd" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" |
| xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"> |
| <description>PMD Plugin preferences rule set</description> |
| <rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging" /> |
| <rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger" /> |
| <rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal" /> |
| <rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal" /> |
| <rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops" /> |
| <rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector" /> |
| <rule ref="rulesets/optimizations.xml/SimplifyStartsWith" /> |
| <rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends" /> |
| <rule ref="rulesets/optimizations.xml/UseArraysAsList" /> |
| <rule ref="rulesets/optimizations.xml/AvoidArrayLoops" /> |
| <rule ref="rulesets/optimizations.xml/UnnecessaryWrapperObjectCreation" /> |
| <rule ref="rulesets/optimizations.xml/AddEmptyString" /> |
| <rule ref="rulesets/typeresolution.xml/LooseCoupling" /> |
| <rule ref="rulesets/typeresolution.xml/CloneMethodMustImplementCloneable" /> |
| <rule ref="rulesets/typeresolution.xml/UnusedImports" /> |
| <rule ref="rulesets/typeresolution.xml/SignatureDeclareThrowsException" /> |
| <rule ref="rulesets/design.xml/UseSingleton" /> |
| <rule ref="rulesets/design.xml/SimplifyBooleanReturns" /> |
| <rule ref="rulesets/design.xml/SimplifyBooleanExpressions" /> |
| <rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault" /> |
| <rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts" /> |
| <rule ref="rulesets/design.xml/AvoidReassigningParameters" /> |
| <rule ref="rulesets/design.xml/SwitchDensity" /> |
| <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod" /> |
| <rule ref="rulesets/design.xml/AccessorClassGeneration" /> |
| <rule ref="rulesets/design.xml/FinalFieldCouldBeStatic" /> |
| <rule ref="rulesets/design.xml/CloseResource" /> |
| <rule ref="rulesets/design.xml/NonStaticInitializer" /> |
| <rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt" /> |
| <rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement" /> |
| <rule ref="rulesets/design.xml/OptimizableToArrayCall" /> |
| <rule ref="rulesets/design.xml/BadComparison" /> |
| <rule ref="rulesets/design.xml/EqualsNull" /> |
| <rule ref="rulesets/design.xml/ConfusingTernary" /> |
| <rule ref="rulesets/design.xml/InstantiationToGetClass" /> |
| <rule ref="rulesets/design.xml/IdempotentOperations" /> |
| <rule ref="rulesets/design.xml/SimpleDateFormatNeedsLocale" /> |
| <rule ref="rulesets/design.xml/ImmutableField" /> |
| <rule ref="rulesets/design.xml/UseLocaleWithCaseConversions" /> |
| <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass" /> |
| <rule ref="rulesets/design.xml/AssignmentToNonFinalStatic" /> |
| <rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass" /> |
| <rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel" /> |
| <rule ref="rulesets/design.xml/MissingBreakInSwitch" /> |
| <rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify" /> |
| <rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause" /> |
| <rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod" /> |
| <rule ref="rulesets/design.xml/SimplifyConditional" /> |
| <rule ref="rulesets/design.xml/CompareObjectsWithEquals" /> |
| <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons" /> |
| <rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn" /> |
| <rule ref="rulesets/design.xml/NonThreadSafeSingleton" /> |
| <rule ref="rulesets/design.xml/AvoidConstantsInterface" /> |
| <rule ref="rulesets/design.xml/UnsynchronizedStaticDateFormatter" /> |
| <rule ref="rulesets/design.xml/PreserveStackTrace" /> |
| <rule ref="rulesets/design.xml/UseCollectionIsEmpty" /> |
| <rule |
| ref="rulesets/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal" /> |
| <rule ref="rulesets/design.xml/SingularField" /> |
| <rule ref="rulesets/design.xml/ReturnEmptyArrayRatherThanNull" /> |
| <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod" /> |
| <rule ref="rulesets/design.xml/TooFewBranchesForASwitchStatement" /> |
| <rule ref="rulesets/junit.xml/JUnitStaticSuite" /> |
| <rule ref="rulesets/junit.xml/JUnitSpelling" /> |
| <rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage" /> |
| <rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert" /> |
| <rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion" /> |
| <rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue" /> |
| <rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue" /> |
| <rule ref="rulesets/junit.xml/UseAssertNullInsteadOfAssertTrue" /> |
| <rule ref="rulesets/junit.xml/SimplifyBooleanAssertion" /> |
| <rule ref="rulesets/basic.xml/EmptyCatchBlock" /> |
| <rule ref="rulesets/basic.xml/EmptyIfStmt" /> |
| <rule ref="rulesets/basic.xml/EmptyWhileStmt" /> |
| <rule ref="rulesets/basic.xml/EmptyTryBlock" /> |
| <rule ref="rulesets/basic.xml/EmptyFinallyBlock" /> |
| <rule ref="rulesets/basic.xml/EmptySwitchStatements" /> |
| <rule ref="rulesets/basic.xml/JumbledIncrementer" /> |
| <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop" /> |
| <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary" /> |
| <rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode" /> |
| <rule ref="rulesets/basic.xml/DoubleCheckedLocking" /> |
| <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock" /> |
| <rule ref="rulesets/basic.xml/EmptySynchronizedBlock" /> |
| <rule ref="rulesets/basic.xml/UnnecessaryReturn" /> |
| <rule ref="rulesets/basic.xml/EmptyStaticInitializer" /> |
| <rule ref="rulesets/basic.xml/UnconditionalIfStatement" /> |
| <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop" /> |
| <rule ref="rulesets/basic.xml/BooleanInstantiation" /> |
| <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier" /> |
| <rule ref="rulesets/basic.xml/CollapsibleIfStatements" /> |
| <rule ref="rulesets/basic.xml/UselessOverridingMethod" /> |
| <rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray" /> |
| <rule ref="rulesets/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor" /> |
| <rule ref="rulesets/basic.xml/UselessOperationOnImmutable" /> |
| <rule ref="rulesets/basic.xml/MisplacedNullCheck" /> |
| <rule ref="rulesets/basic.xml/UnusedNullCheckInEquals" /> |
| <rule ref="rulesets/basic.xml/AvoidThreadGroup" /> |
| <rule ref="rulesets/basic.xml/BrokenNullCheck" /> |
| <rule ref="rulesets/basic.xml/BigIntegerInstantiation" /> |
| <rule ref="rulesets/basic.xml/AvoidUsingOctalValues" /> |
| <rule ref="rulesets/basic.xml/AvoidUsingHardCodedIP" /> |
| <rule ref="rulesets/basic.xml/CheckResultSet" /> |
| <rule ref="rulesets/basic.xml/AvoidMultipleUnaryOperators" /> |
| <rule ref="rulesets/braces.xml/IfStmtsMustUseBraces" /> |
| <rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces" /> |
| <rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces" /> |
| <rule ref="rulesets/braces.xml/ForLoopsMustUseBraces" /> |
| <rule ref="rulesets/coupling.xml/CouplingBetweenObjects" /> |
| <rule ref="rulesets/coupling.xml/ExcessiveImports" /> |
| <rule ref="rulesets/coupling.xml/LooseCoupling" /> |
| <rule ref="rulesets/controversial.xml/UnnecessaryConstructor" /> |
| <rule ref="rulesets/controversial.xml/UnusedModifier" /> |
| <rule ref="rulesets/controversial.xml/AssignmentInOperand" /> |
| <rule ref="rulesets/controversial.xml/AtLeastOneConstructor" /> |
| <rule ref="rulesets/controversial.xml/DontImportSun" /> |
| <rule ref="rulesets/controversial.xml/SuspiciousOctalEscape" /> |
| <rule ref="rulesets/controversial.xml/CallSuperInConstructor" /> |
| <rule ref="rulesets/controversial.xml/UnnecessaryParentheses" /> |
| <rule ref="rulesets/controversial.xml/BooleanInversion" /> |
| <rule ref="rulesets/controversial.xml/AvoidUsingShortType" /> |
| <rule ref="rulesets/controversial.xml/AvoidUsingVolatile" /> |
| <rule ref="rulesets/controversial.xml/AvoidUsingNativeCode" /> |
| <rule ref="rulesets/controversial.xml/AvoidAccessibilityAlteration" /> |
| <rule ref="rulesets/controversial.xml/DoNotCallGarbageCollectionExplicitly" /> |
| <rule ref="rulesets/logging-java.xml/MoreThanOneLogger" /> |
| <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal" /> |
| <rule ref="rulesets/logging-java.xml/SystemPrintln" /> |
| <rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace" /> |
| <rule ref="rulesets/imports.xml/DuplicateImports" /> |
| <rule ref="rulesets/imports.xml/DontImportJavaLang" /> |
| <rule ref="rulesets/imports.xml/UnusedImports" /> |
| <rule ref="rulesets/imports.xml/ImportFromSamePackage" /> |
| <rule ref="rulesets/imports.xml/TooManyStaticImports" /> |
| <rule ref="rulesets/migrating.xml/ReplaceVectorWithList" /> |
| <rule ref="rulesets/migrating.xml/ReplaceHashtableWithMap" /> |
| <rule ref="rulesets/migrating.xml/ReplaceEnumerationWithIterator" /> |
| <rule ref="rulesets/migrating.xml/AvoidEnumAsIdentifier" /> |
| <rule ref="rulesets/migrating.xml/AvoidAssertAsIdentifier" /> |
| <rule ref="rulesets/migrating.xml/IntegerInstantiation" /> |
| <rule ref="rulesets/migrating.xml/ByteInstantiation" /> |
| <rule ref="rulesets/migrating.xml/ShortInstantiation" /> |
| <rule ref="rulesets/migrating.xml/LongInstantiation" /> |
| <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseBeforeAnnotation" /> |
| <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseAfterAnnotation" /> |
| <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseTestAnnotation" /> |
| <rule ref="rulesets/migrating.xml/JUnit4SuitesShouldUseSuiteAnnotation" /> |
| <rule ref="rulesets/migrating.xml/JUnitUseExpected" /> |
| <rule ref="rulesets/clone.xml/ProperCloneImplementation" /> |
| <rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException" /> |
| <rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable" /> |
| <rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray" /> |
| <rule ref="rulesets/strings.xml/AvoidDuplicateLiterals" /> |
| <rule ref="rulesets/strings.xml/StringInstantiation" /> |
| <rule ref="rulesets/strings.xml/StringToString" /> |
| <rule ref="rulesets/strings.xml/InefficientStringBuffering" /> |
| <rule ref="rulesets/strings.xml/UnnecessaryCaseChange" /> |
| <rule ref="rulesets/strings.xml/UseStringBufferLength" /> |
| <rule ref="rulesets/strings.xml/AppendCharacterWithChar" /> |
| <rule ref="rulesets/strings.xml/ConsecutiveLiteralAppends" /> |
| <rule ref="rulesets/strings.xml/UseIndexOfChar" /> |
| <rule ref="rulesets/strings.xml/InefficientEmptyStringCheck" /> |
| <rule ref="rulesets/strings.xml/InsufficientStringBufferDeclaration" /> |
| <rule ref="rulesets/strings.xml/UselessStringValueOf" /> |
| <rule ref="rulesets/strings.xml/StringBufferInstantiationWithChar" /> |
| <rule ref="rulesets/strings.xml/UseEqualsToCompareStrings" /> |
| <rule ref="rulesets/strings.xml/AvoidStringBufferField" /> |
| <rule ref="rulesets/javabeans.xml/MissingSerialVersionUID" /> |
| <rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable" /> |
| <rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException" /> |
| <rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl" /> |
| <rule ref="rulesets/strictexception.xml/AvoidCatchingNPE" /> |
| <rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes" /> |
| <rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException" /> |
| <rule ref="rulesets/strictexception.xml/AvoidRethrowingException" /> |
| <rule ref="rulesets/strictexception.xml/DoNotExtendJavaLangError" /> |
| <rule ref="rulesets/strictexception.xml/DoNotThrowExceptionInFinally" /> |
| <rule ref="rulesets/finalizers.xml/EmptyFinalizer" /> |
| <rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize" /> |
| <rule ref="rulesets/finalizers.xml/FinalizeOverloaded" /> |
| <rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize" /> |
| <rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected" /> |
| <rule ref="rulesets/finalizers.xml/AvoidCallingFinalize" /> |
| <rule ref="rulesets/j2ee.xml/UseProperClassLoader" /> |
| <rule ref="rulesets/j2ee.xml/MDBAndSessionBeanNamingConvention" /> |
| <rule ref="rulesets/j2ee.xml/RemoteSessionInterfaceNamingConvention" /> |
| <rule ref="rulesets/j2ee.xml/LocalInterfaceSessionNamingConvention" /> |
| <rule ref="rulesets/j2ee.xml/LocalHomeNamingConvention" /> |
| <rule ref="rulesets/j2ee.xml/RemoteInterfaceNamingConvention" /> |
| <rule ref="rulesets/j2ee.xml/DoNotCallSystemExit" /> |
| <rule ref="rulesets/j2ee.xml/StaticEJBFieldShouldBeFinal" /> |
| <rule ref="rulesets/j2ee.xml/DoNotUseThreads" /> |
| <rule ref="rulesets/naming.xml/ShortVariable" /> |
| <rule ref="rulesets/naming.xml/ShortMethodName" /> |
| <rule ref="rulesets/naming.xml/VariableNamingConventions" /> |
| <rule ref="rulesets/naming.xml/MethodNamingConventions" /> |
| <rule ref="rulesets/naming.xml/ClassNamingConventions" /> |
| <rule ref="rulesets/naming.xml/AbstractNaming" /> |
| <rule ref="rulesets/naming.xml/AvoidDollarSigns" /> |
| <rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass" /> |
| <rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName" /> |
| <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName" /> |
| <rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName" /> |
| <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName" /> |
| <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName" /> |
| <rule ref="rulesets/naming.xml/NoPackage" /> |
| <rule ref="rulesets/naming.xml/PackageCase" /> |
| <rule ref="rulesets/naming.xml/MisleadingVariableName" /> |
| <rule ref="rulesets/naming.xml/BooleanGetMethodName" /> |
| <rule ref="rulesets/codesize.xml/NPathComplexity" /> |
| <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" /> |
| <rule ref="rulesets/codesize.xml/ExcessiveParameterList" /> |
| <rule ref="rulesets/codesize.xml/ExcessiveClassLength" /> |
| <rule ref="rulesets/codesize.xml/CyclomaticComplexity" /> |
| <rule ref="rulesets/codesize.xml/ExcessivePublicCount" /> |
| <rule ref="rulesets/codesize.xml/TooManyFields" /> |
| <rule ref="rulesets/codesize.xml/NcssMethodCount" /> |
| <rule ref="rulesets/codesize.xml/NcssTypeCount" /> |
| <rule ref="rulesets/codesize.xml/NcssConstructorCount" /> |
| <rule ref="rulesets/codesize.xml/TooManyMethods" /> |
| <rule ref="rulesets/unusedcode.xml/UnusedPrivateField" /> |
| <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable" /> |
| <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod" /> |
| <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter" /> |
| </ruleset> |