1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <ruleset xmlns="http://pmd.sf.net/ruleset/1.0.0" name="pmd-eclipse" 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">
3 <description>PMD Plugin preferences rule set</description>
4 <rule ref="rulesets/typeresolution.xml/LooseCoupling"/>
5 <rule ref="rulesets/typeresolution.xml/CloneMethodMustImplementCloneable"/>
6 <rule ref="rulesets/typeresolution.xml/UnusedImports"/>
7 <rule ref="rulesets/typeresolution.xml/SignatureDeclareThrowsException"/>
8 <rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>
9 <rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>
10 <rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>
11 <rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>
12 <rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>
13 <rule ref="rulesets/controversial.xml/NullAssignment"/>
14 <rule ref="rulesets/controversial.xml/OnlyOneReturn"/>
15 <rule ref="rulesets/controversial.xml/UnusedModifier"/>
16 <rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
17 <rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>
18 <rule ref="rulesets/controversial.xml/DontImportSun"/>
19 <rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>
20 <rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>
21 <rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
22 <rule ref="rulesets/controversial.xml/DefaultPackage"/>
23 <rule ref="rulesets/controversial.xml/BooleanInversion"/>
24 <rule ref="rulesets/controversial.xml/DataflowAnomalyAnalysis"/>
25 <rule ref="rulesets/controversial.xml/AvoidFinalLocalVariable"/>
26 <rule ref="rulesets/controversial.xml/AvoidUsingShortType"/>
27 <rule ref="rulesets/controversial.xml/AvoidUsingVolatile"/>
28 <rule ref="rulesets/controversial.xml/AvoidUsingNativeCode"/>
29 <rule ref="rulesets/controversial.xml/AvoidAccessibilityAlteration"/>
30 <rule ref="rulesets/controversial.xml/DoNotCallGarbageCollectionExplicitly"/>
31 <rule ref="rulesets/basic.xml/EmptyCatchBlock"/>
32 <rule ref="rulesets/basic.xml/EmptyIfStmt"/>
33 <rule ref="rulesets/basic.xml/EmptyWhileStmt"/>
34 <rule ref="rulesets/basic.xml/EmptyTryBlock"/>
35 <rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>
36 <rule ref="rulesets/basic.xml/EmptySwitchStatements"/>
37 <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
38 <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
39 <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
40 <rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>
41 <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
42 <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
43 <rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>
44 <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
45 <rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>
46 <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
47 <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
48 <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
49 <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
50 <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
51 <rule ref="rulesets/basic.xml/UselessOverridingMethod"/>
52 <rule ref="rulesets/basic.xml/ClassCastExceptionWithToArray"/>
53 <rule ref="rulesets/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
54 <rule ref="rulesets/basic.xml/UselessOperationOnImmutable"/>
55 <rule ref="rulesets/basic.xml/MisplacedNullCheck"/>
56 <rule ref="rulesets/basic.xml/UnusedNullCheckInEquals"/>
57 <rule ref="rulesets/basic.xml/AvoidThreadGroup"/>
58 <rule ref="rulesets/basic.xml/BrokenNullCheck"/>
59 <rule ref="rulesets/basic.xml/BigIntegerInstantiation"/>
60 <rule ref="rulesets/basic.xml/AvoidUsingOctalValues"/>
61 <rule ref="rulesets/basic.xml/AvoidUsingHardCodedIP"/>
62 <rule ref="rulesets/basic.xml/CheckResultSet"/>
63 <rule ref="rulesets/basic.xml/AvoidMultipleUnaryOperators"/>
64 <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
65 <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
66 <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
67 <rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>
68 <rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>
69 <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>
70 <rule ref="rulesets/logging-java.xml/SystemPrintln"/>
71 <rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>
72 <rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>
73 <rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>
74 <rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>
75 <rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>
76 <rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>
77 <rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>
78 <rule ref="rulesets/strictexception.xml/AvoidRethrowingException"/>
79 <rule ref="rulesets/strictexception.xml/DoNotExtendJavaLangError"/>
80 <rule ref="rulesets/strictexception.xml/DoNotThrowExceptionInFinally"/>
81 <rule ref="rulesets/migrating.xml/ReplaceVectorWithList"/>
82 <rule ref="rulesets/migrating.xml/ReplaceHashtableWithMap"/>
83 <rule ref="rulesets/migrating.xml/ReplaceEnumerationWithIterator"/>
84 <rule ref="rulesets/migrating.xml/AvoidEnumAsIdentifier"/>
85 <rule ref="rulesets/migrating.xml/AvoidAssertAsIdentifier"/>
86 <rule ref="rulesets/migrating.xml/IntegerInstantiation"/>
87 <rule ref="rulesets/migrating.xml/ByteInstantiation"/>
88 <rule ref="rulesets/migrating.xml/ShortInstantiation"/>
89 <rule ref="rulesets/migrating.xml/LongInstantiation"/>
90 <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseBeforeAnnotation"/>
91 <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseAfterAnnotation"/>
92 <rule ref="rulesets/migrating.xml/JUnit4TestShouldUseTestAnnotation"/>
93 <rule ref="rulesets/migrating.xml/JUnit4SuitesShouldUseSuiteAnnotation"/>
94 <rule ref="rulesets/migrating.xml/JUnitUseExpected"/>
95 <rule ref="rulesets/design.xml/UseSingleton"/>
96 <rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
97 <rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
98 <rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>
99 <rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>
100 <rule ref="rulesets/design.xml/AvoidReassigningParameters"/>
101 <rule ref="rulesets/design.xml/SwitchDensity"/>
102 <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
103 <rule ref="rulesets/design.xml/AccessorClassGeneration"/>
104 <rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>
105 <rule ref="rulesets/design.xml/CloseResource"/>
106 <rule ref="rulesets/design.xml/NonStaticInitializer"/>
107 <rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>
108 <rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>
109 <rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
110 <rule ref="rulesets/design.xml/BadComparison"/>
111 <rule ref="rulesets/design.xml/EqualsNull"/>
112 <rule ref="rulesets/design.xml/ConfusingTernary"/>
113 <rule ref="rulesets/design.xml/InstantiationToGetClass"/>
114 <rule ref="rulesets/design.xml/IdempotentOperations"/>
115 <rule ref="rulesets/design.xml/SimpleDateFormatNeedsLocale"/>
116 <rule ref="rulesets/design.xml/ImmutableField"/>
117 <rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>
118 <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
119 <rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>
120 <rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>
121 <rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>
122 <rule ref="rulesets/design.xml/MissingBreakInSwitch"/>
123 <rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>
124 <rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>
125 <rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>
126 <rule ref="rulesets/design.xml/SimplifyConditional"/>
127 <rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>
128 <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
129 <rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
130 <rule ref="rulesets/design.xml/NonThreadSafeSingleton"/>
131 <rule ref="rulesets/design.xml/UncommentedEmptyMethod"/>
132 <rule ref="rulesets/design.xml/UncommentedEmptyConstructor"/>
133 <rule ref="rulesets/design.xml/AvoidConstantsInterface"/>
134 <rule ref="rulesets/design.xml/UnsynchronizedStaticDateFormatter"/>
135 <rule ref="rulesets/design.xml/PreserveStackTrace"/>
136 <rule ref="rulesets/design.xml/UseCollectionIsEmpty"/>
137 <rule ref="rulesets/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal"/>
138 <rule ref="rulesets/design.xml/EmptyMethodInAbstractClassShouldBeAbstract"/>
139 <rule ref="rulesets/design.xml/SingularField"/>
140 <rule ref="rulesets/design.xml/ReturnEmptyArrayRatherThanNull"/>
141 <rule ref="rulesets/design.xml/AbstractClassWithoutAnyMethod"/>
142 <rule ref="rulesets/design.xml/TooFewBranchesForASwitchStatement"/>
143 <rule ref="rulesets/j2ee.xml/UseProperClassLoader"/>
144 <rule ref="rulesets/j2ee.xml/MDBAndSessionBeanNamingConvention"/>
145 <rule ref="rulesets/j2ee.xml/RemoteSessionInterfaceNamingConvention"/>
146 <rule ref="rulesets/j2ee.xml/LocalInterfaceSessionNamingConvention"/>
147 <rule ref="rulesets/j2ee.xml/LocalHomeNamingConvention"/>
148 <rule ref="rulesets/j2ee.xml/RemoteInterfaceNamingConvention"/>
149 <rule ref="rulesets/j2ee.xml/DoNotCallSystemExit"/>
150 <rule ref="rulesets/j2ee.xml/StaticEJBFieldShouldBeFinal"/>
151 <rule ref="rulesets/j2ee.xml/DoNotUseThreads"/>
152 <rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>
153 <rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>
154 <rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>
155 <rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>
156 <rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>
157 <rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>
158 <rule ref="rulesets/optimizations.xml/UseArraysAsList"/>
159 <rule ref="rulesets/optimizations.xml/AvoidArrayLoops"/>
160 <rule ref="rulesets/optimizations.xml/UnnecessaryWrapperObjectCreation"/>
161 <rule ref="rulesets/optimizations.xml/AddEmptyString"/>
162 <rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>
163 <rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>
164 <rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>
165 <rule ref="rulesets/coupling.xml/ExcessiveImports"/>
166 <rule ref="rulesets/coupling.xml/LooseCoupling"/>
167 <rule ref="rulesets/imports.xml/DuplicateImports"/>
168 <rule ref="rulesets/imports.xml/DontImportJavaLang"/>
169 <rule ref="rulesets/imports.xml/UnusedImports"/>
170 <rule ref="rulesets/imports.xml/ImportFromSamePackage"/>
171 <rule ref="rulesets/imports.xml/TooManyStaticImports"/>
172 <rule ref="rulesets/junit.xml/JUnitStaticSuite"/>
173 <rule ref="rulesets/junit.xml/JUnitSpelling"/>
174 <rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>
175 <rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>
176 <rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>
177 <rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>
178 <rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>
179 <rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>
180 <rule ref="rulesets/junit.xml/UseAssertNullInsteadOfAssertTrue"/>
181 <rule ref="rulesets/junit.xml/SimplifyBooleanAssertion"/>
182 <rule ref="rulesets/naming.xml/ShortVariable"/>
183 <rule ref="rulesets/naming.xml/LongVariable"/>
184 <rule ref="rulesets/naming.xml/ShortMethodName"/>
185 <rule ref="rulesets/naming.xml/VariableNamingConventions"/>
186 <rule ref="rulesets/naming.xml/MethodNamingConventions"/>
187 <rule ref="rulesets/naming.xml/ClassNamingConventions"/>
188 <rule ref="rulesets/naming.xml/AbstractNaming"/>
189 <rule ref="rulesets/naming.xml/AvoidDollarSigns"/>
190 <rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>
191 <rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>
192 <rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>
193 <rule ref="rulesets/naming.xml/SuspiciousEqualsMethodName"/>
194 <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>
195 <rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>
196 <rule ref="rulesets/naming.xml/NoPackage"/>
197 <rule ref="rulesets/naming.xml/PackageCase"/>
198 <rule ref="rulesets/naming.xml/MisleadingVariableName"/>
199 <rule ref="rulesets/naming.xml/BooleanGetMethodName"/>
200 <rule ref="rulesets/codesize.xml/NPathComplexity"/>
201 <rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>
202 <rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>
203 <rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>
204 <rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>
205 <rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>
206 <rule ref="rulesets/codesize.xml/TooManyFields"/>
207 <rule ref="rulesets/codesize.xml/NcssMethodCount"/>
208 <rule ref="rulesets/codesize.xml/NcssTypeCount"/>
209 <rule ref="rulesets/codesize.xml/NcssConstructorCount"/>
210 <rule ref="rulesets/codesize.xml/TooManyMethods"/>
211 <rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>
212 <rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>
213 <rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>
214 <rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>
215 <rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>
216 <rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>
217 <rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>
218 <rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>
219 <rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>
220 <rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>
221 <rule ref="rulesets/clone.xml/ProperCloneImplementation"/>
222 <rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>
223 <rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>
224 <rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>
225 <rule ref="rulesets/strings.xml/StringInstantiation"/>
226 <rule ref="rulesets/strings.xml/StringToString"/>
227 <rule ref="rulesets/strings.xml/InefficientStringBuffering"/>
228 <rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>
229 <rule ref="rulesets/strings.xml/UseStringBufferLength"/>
230 <rule ref="rulesets/strings.xml/AppendCharacterWithChar"/>
231 <rule ref="rulesets/strings.xml/ConsecutiveLiteralAppends"/>
232 <rule ref="rulesets/strings.xml/UseIndexOfChar"/>
233 <rule ref="rulesets/strings.xml/InefficientEmptyStringCheck"/>
234 <rule ref="rulesets/strings.xml/InsufficientStringBufferDeclaration"/>
235 <rule ref="rulesets/strings.xml/UselessStringValueOf"/>
236 <rule ref="rulesets/strings.xml/StringBufferInstantiationWithChar"/>
237 <rule ref="rulesets/strings.xml/UseEqualsToCompareStrings"/>
238 <rule ref="rulesets/strings.xml/AvoidStringBufferField"/>