ruleset.xml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. <?xml version="1.0"?>
  2. <ruleset name="quickstart"
  3. xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
  6. <description>Quickstart configuration of PMD. Includes the rules that are most likely to apply everywhere.</description>
  7. <!-- <rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod" /> -->
  8. <!-- <rule ref="category/java/bestpractices.xml/AccessorClassGeneration" /> -->
  9. <!-- <rule ref="category/java/bestpractices.xml/AccessorMethodGeneration" /> -->
  10. <!-- <rule ref="category/java/bestpractices.xml/ArrayIsStoredDirectly" /> -->
  11. <!-- <rule ref="category/java/bestpractices.xml/AvoidPrintStackTrace" /> -->
  12. <!-- <rule ref="category/java/bestpractices.xml/AvoidReassigningCatchVariables" /> -->
  13. <!-- <rule ref="category/java/bestpractices.xml/AvoidReassigningLoopVariables" /> -->
  14. <!-- <rule ref="category/java/bestpractices.xml/AvoidReassigningParameters" /> -->
  15. <rule ref="category/java/bestpractices.xml/AvoidMessageDigestField"/>
  16. <rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/>
  17. <rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/>
  18. <rule ref="category/java/bestpractices.xml/CheckResultSet"/>
  19. <rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
  20. <rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
  21. <rule ref="category/java/bestpractices.xml/DoubleBraceInitialization"/>
  22. <rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/>
  23. <!-- <rule ref="category/java/bestpractices.xml/ForLoopVariableCount" /> -->
  24. <rule ref="category/java/bestpractices.xml/GuardLogStatement"/>
  25. <!-- <rule ref="category/java/bestpractices.xml/JUnit4SuitesShouldUseSuiteAnnotation" /> -->
  26. <!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseAfterAnnotation" /> -->
  27. <!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseBeforeAnnotation" /> -->
  28. <!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseTestAnnotation" /> -->
  29. <!-- <rule ref="category/java/bestpractices.xml/JUnit5TestShouldBePackagePrivate" /> -->
  30. <!-- <rule ref="category/java/bestpractices.xml/JUnitAssertionsShouldIncludeMessage" /> -->
  31. <!-- <rule ref="category/java/bestpractices.xml/JUnitTestContainsTooManyAsserts" /> -->
  32. <!-- <rule ref="category/java/bestpractices.xml/JUnitTestsShouldIncludeAssert" /> -->
  33. <!-- <rule ref="category/java/bestpractices.xml/JUnitUseExpected" /> -->
  34. <rule ref="category/java/bestpractices.xml/LiteralsFirstInComparisons" />
  35. <rule ref="category/java/bestpractices.xml/LooseCoupling"/>
  36. <!-- <rule ref="category/java/bestpractices.xml/MethodReturnsInternalArray" /> -->
  37. <rule ref="category/java/bestpractices.xml/MissingOverride"/>
  38. <rule ref="category/java/bestpractices.xml/OneDeclarationPerLine"/>
  39. <rule ref="category/java/bestpractices.xml/PrimitiveWrapperInstantiation"/>
  40. <rule ref="category/java/bestpractices.xml/PreserveStackTrace"/>
  41. <!-- <rule ref="category/java/bestpractices.xml/ReplaceEnumerationWithIterator" /> -->
  42. <!-- <rule ref="category/java/bestpractices.xml/ReplaceHashtableWithMap" /> -->
  43. <!-- <rule ref="category/java/bestpractices.xml/ReplaceVectorWithList" /> -->
  44. <rule ref="category/java/bestpractices.xml/SimplifiableTestAssertion"/>
  45. <rule ref="category/java/bestpractices.xml/SwitchStmtsShouldHaveDefault"/>
  46. <!-- <rule ref="category/java/bestpractices.xml/SystemPrintln" /> -->
  47. <!-- <rule ref="category/java/bestpractices.xml/UnusedAssignment"/> -->
  48. <rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/>
  49. <rule ref="category/java/bestpractices.xml/UnusedLocalVariable"/>
  50. <rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
  51. <rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/>
  52. <rule ref="category/java/bestpractices.xml/UseCollectionIsEmpty"/>
  53. <rule ref="category/java/bestpractices.xml/UseStandardCharsets" />
  54. <!-- <rule ref="category/java/bestpractices.xml/UseTryWithResources" /> -->
  55. <!-- <rule ref="category/java/bestpractices.xml/UseVarargs" /> -->
  56. <!-- <rule ref="category/java/bestpractices.xml/WhileLoopWithLiteralBoolean" /> -->
  57. <!-- NAMING CONVENTIONS -->
  58. <rule ref="category/java/codestyle.xml/ClassNamingConventions"/>
  59. <!--<rule ref="category/java/codestyle.xml/FieldNamingConventions" />-->
  60. <rule ref="category/java/codestyle.xml/FormalParameterNamingConventions"/>
  61. <rule ref="category/java/codestyle.xml/GenericsNaming"/>
  62. <!-- <rule ref="category/java/codestyle.xml/LinguisticNaming" /> -->
  63. <rule ref="category/java/codestyle.xml/LocalVariableNamingConventions"/>
  64. <!-- <rule ref="category/java/codestyle.xml/LongVariable" /> -->
  65. <rule ref="category/java/codestyle.xml/MethodNamingConventions"/>
  66. <rule ref="category/java/codestyle.xml/PackageCase"/>
  67. <!-- <rule ref="category/java/codestyle.xml/ShortClassName" /> -->
  68. <!-- <rule ref="category/java/codestyle.xml/ShortMethodName" /> -->
  69. <!-- <rule ref="category/java/codestyle.xml/ShortVariable" /> -->
  70. <!-- <rule ref="category/java/codestyle.xml/LocalHomeNamingConvention" /> -->
  71. <!-- <rule ref="category/java/codestyle.xml/LocalInterfaceSessionNamingConvention" /> -->
  72. <!-- <rule ref="category/java/codestyle.xml/MDBAndSessionBeanNamingConvention" /> -->
  73. <!-- <rule ref="category/java/codestyle.xml/RemoteInterfaceNamingConvention" /> -->
  74. <!-- <rule ref="category/java/codestyle.xml/RemoteSessionInterfaceNamingConvention" /> -->
  75. <!-- OTHER -->
  76. <!-- <rule ref="category/java/codestyle.xml/AtLeastOneConstructor" /> -->
  77. <rule ref="category/java/codestyle.xml/AvoidDollarSigns"/>
  78. <rule ref="category/java/codestyle.xml/AvoidProtectedFieldInFinalClass"/>
  79. <rule ref="category/java/codestyle.xml/AvoidProtectedMethodInFinalClassNotExtending"/>
  80. <!-- <rule ref="category/java/codestyle.xml/AvoidUsingNativeCode"/>-->
  81. <!-- <rule ref="category/java/codestyle.xml/BooleanGetMethodName" /> -->
  82. <!-- <rule ref="category/java/codestyle.xml/CallSuperInConstructor" /> -->
  83. <!-- <rule ref="category/java/codestyle.xml/CommentDefaultAccessModifier" /> -->
  84. <!-- <rule ref="category/java/codestyle.xml/ConfusingTernary" /> -->
  85. <rule ref="category/java/codestyle.xml/ControlStatementBraces"/>
  86. <!-- <rule ref="category/java/codestyle.xml/EmptyMethodInAbstractClassShouldBeAbstract" /> -->
  87. <rule ref="category/java/codestyle.xml/ExtendsObject"/>
  88. <!-- <rule ref="category/java/codestyle.xml/FieldDeclarationsShouldBeAtStartOfClass" /> -->
  89. <rule ref="category/java/codestyle.xml/FinalParameterInAbstractMethod"/>
  90. <rule ref="category/java/codestyle.xml/ForLoopShouldBeWhileLoop"/>
  91. <rule ref="category/java/codestyle.xml/IdenticalCatchBranches"/>
  92. <!-- <rule ref="category/java/codestyle.xml/LocalVariableCouldBeFinal" /> -->
  93. <!-- <rule ref="category/java/codestyle.xml/MethodArgumentCouldBeFinal" /> -->
  94. <rule ref="category/java/codestyle.xml/NoPackage"/>
  95. <!-- <rule ref="category/java/codestyle.xml/UseUnderscoresInNumericLiterals" /> -->
  96. <!-- <rule ref="category/java/codestyle.xml/OnlyOneReturn" /> -->
  97. <!-- <rule ref="category/java/codestyle.xml/PrematureDeclaration" /> -->
  98. <!-- <rule ref="category/java/codestyle.xml/TooManyStaticImports" /> -->
  99. <rule ref="category/java/codestyle.xml/UnnecessaryAnnotationValueElement"/>
  100. <!-- <rule ref="category/java/codestyle.xml/UnnecessaryBoxing" /> -->
  101. <!-- <rule ref="category/java/codestyle.xml/UnnecessaryCast" /> -->
  102. <rule ref="category/java/codestyle.xml/UnnecessaryConstructor"/>
  103. <rule ref="category/java/codestyle.xml/UnnecessaryFullyQualifiedName"/>
  104. <rule ref="category/java/codestyle.xml/UnnecessaryImport" />
  105. <rule ref="category/java/codestyle.xml/UnnecessaryLocalBeforeReturn"/>
  106. <rule ref="category/java/codestyle.xml/UnnecessaryModifier"/>
  107. <rule ref="category/java/codestyle.xml/UnnecessaryReturn"/>
  108. <!-- <rule ref="category/java/codestyle.xml/UseDiamondOperator" /> -->
  109. <rule ref="category/java/codestyle.xml/UselessParentheses"/>
  110. <rule ref="category/java/codestyle.xml/UselessQualifiedThis"/>
  111. <rule ref="category/java/design.xml/AbstractClassWithoutAnyMethod"/>
  112. <!-- <rule ref="category/java/design.xml/AvoidCatchingGenericException" /> -->
  113. <!-- <rule ref="category/java/design.xml/AvoidDeeplyNestedIfStmts" /> -->
  114. <!-- <rule ref="category/java/design.xml/AvoidRethrowingException" /> -->
  115. <!-- <rule ref="category/java/design.xml/AvoidThrowingNewInstanceOfSameException" /> -->
  116. <!--<rule ref="category/java/design.xml/AvoidThrowingNullPointerException" />-->
  117. <!-- <rule ref="category/java/design.xml/AvoidThrowingRawExceptionTypes" /> -->
  118. <!-- <rule ref="category/java/design.xml/AvoidUncheckedExceptionsInSignatures" /> -->
  119. <rule ref="category/java/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal"/>
  120. <!-- <rule ref="category/java/design.xml/CognitiveComplexity" /> -->
  121. <!-- <rule ref="category/java/design.xml/CollapsibleIfStatements"/>-->
  122. <!-- <rule ref="category/java/design.xml/CouplingBetweenObjects" /> -->
  123. <!-- <rule ref="category/java/design.xml/CyclomaticComplexity" /> -->
  124. <!-- <rule ref="category/java/design.xml/DataClass" /> -->
  125. <rule ref="category/java/design.xml/DoNotExtendJavaLangError" />
  126. <!-- <rule ref="category/java/design.xml/ExceptionAsFlowControl" /> -->
  127. <!-- <rule ref="category/java/design.xml/ExcessiveImports" /> -->
  128. <!-- <rule ref="category/java/design.xml/ExcessiveParameterList" /> -->
  129. <!-- <rule ref="category/java/design.xml/ExcessivePublicCount" /> -->
  130. <rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/>
  131. <!-- <rule ref="category/java/design.xml/GodClass" /> -->
  132. <!-- <rule ref="category/java/design.xml/ImmutableField" /> -->
  133. <!-- <rule ref="category/java/design.xml/InvalidJavaBean">-->
  134. <!-- <properties>-->
  135. <!-- <property name="packages" value="org.example.beans" />-->
  136. <!-- </properties>-->
  137. <!-- </rule>-->
  138. <!-- <rule ref="category/java/design.xml/LawOfDemeter" /> -->
  139. <rule ref="category/java/design.xml/LogicInversion"/>
  140. <!-- <rule ref="category/java/design.xml/LoosePackageCoupling"> -->
  141. <!-- <properties> -->
  142. <!-- <property name="packages" value="org.sample,org.sample2" /> -->
  143. <!-- <property name="classes" value="org.sample.SampleInterface,org.sample2.SampleInterface" /> -->
  144. <!-- </properties> -->
  145. <!-- </rule> -->
  146. <!-- <rule ref="category/java/design.xml/MutableStaticState" /> -->
  147. <!-- <rule ref="category/java/design.xml/NcssCount" /> -->
  148. <!-- <rule ref="category/java/design.xml/NPathComplexity" /> -->
  149. <!-- <rule ref="category/java/design.xml/SignatureDeclareThrowsException" /> -->
  150. <rule ref="category/java/design.xml/SimplifiedTernary"/>
  151. <!-- <rule ref="category/java/design.xml/SimplifyBooleanExpressions" /> -->
  152. <rule ref="category/java/design.xml/SimplifyBooleanReturns"/>
  153. <rule ref="category/java/design.xml/SimplifyConditional"/>
  154. <rule ref="category/java/design.xml/SingularField"/>
  155. <!-- <rule ref="category/java/design.xml/SwitchDensity" /> -->
  156. <!-- <rule ref="category/java/design.xml/TooManyFields" /> -->
  157. <!-- <rule ref="category/java/design.xml/TooManyMethods" /> -->
  158. <rule ref="category/java/design.xml/UselessOverridingMethod"/>
  159. <!-- <rule ref="category/java/design.xml/UseObjectForClearerAPI" /> -->
  160. <rule ref="category/java/design.xml/UseUtilityClass"/>
  161. <!-- <rule ref="category/java/documentation.xml/CommentContent" /> -->
  162. <!-- <rule ref="category/java/documentation.xml/CommentRequired" /> -->
  163. <!-- <rule ref="category/java/documentation.xml/CommentSize" /> -->
  164. <rule ref="category/java/documentation.xml/UncommentedEmptyConstructor"/>
  165. <rule ref="category/java/documentation.xml/UncommentedEmptyMethodBody"/>
  166. <rule ref="category/java/errorprone.xml/AssignmentInOperand">
  167. <properties>
  168. <property name="allowWhile" value="true"/>
  169. </properties>
  170. </rule>
  171. <rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/>
  172. <rule ref="category/java/errorprone.xml/AvoidAccessibilityAlteration"/>
  173. <!-- <rule ref="category/java/errorprone.xml/AvoidAssertAsIdentifier" /> -->
  174. <rule ref="category/java/errorprone.xml/AvoidBranchingStatementAsLastInLoop"/>
  175. <!-- <rule ref="category/java/errorprone.xml/AvoidCallingFinalize" /> -->
  176. <!-- <rule ref="category/java/errorprone.xml/AvoidCatchingNPE" /> -->
  177. <rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"/>
  178. <rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
  179. <!-- <rule ref="category/java/errorprone.xml/AvoidDuplicateLiterals" /> -->
  180. <!-- <rule ref="category/java/errorprone.xml/AvoidEnumAsIdentifier" /> -->
  181. <!-- <rule ref="category/java/errorprone.xml/AvoidFieldNameMatchingMethodName" /> -->
  182. <!-- <rule ref="category/java/errorprone.xml/AvoidFieldNameMatchingTypeName" /> -->
  183. <rule ref="category/java/errorprone.xml/AvoidInstanceofChecksInCatchClause"/>
  184. <!-- <rule ref="category/java/errorprone.xml/AvoidLiteralsInIfCondition" /> -->
  185. <!-- <rule ref="category/java/errorprone.xml/AvoidLosingExceptionInformation" /> -->
  186. <rule ref="category/java/errorprone.xml/AvoidMultipleUnaryOperators"/>
  187. <rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/>
  188. <!-- <rule ref="category/java/errorprone.xml/BeanMembersShouldSerialize" /> -->
  189. <rule ref="category/java/errorprone.xml/BrokenNullCheck"/>
  190. <!-- <rule ref="category/java/errorprone.xml/CallSuperFirst" /> -->
  191. <!-- <rule ref="category/java/errorprone.xml/CallSuperLast" /> -->
  192. <rule ref="category/java/errorprone.xml/CheckSkipResult"/>
  193. <rule ref="category/java/errorprone.xml/ClassCastExceptionWithToArray"/>
  194. <rule ref="category/java/errorprone.xml/CloneMethodMustBePublic"/>
  195. <rule ref="category/java/errorprone.xml/CloneMethodMustImplementCloneable"/>
  196. <rule ref="category/java/errorprone.xml/CloneMethodReturnTypeMustMatchClassName"/>
  197. <!-- <rule ref="category/java/errorprone.xml/CloneThrowsCloneNotSupportedException"/> deprecated since 6.35.0 -->
  198. <rule ref="category/java/errorprone.xml/CloseResource"/>
  199. <rule ref="category/java/errorprone.xml/CompareObjectsWithEquals"/>
  200. <rule ref="category/java/errorprone.xml/ComparisonWithNaN"/>
  201. <!-- <rule ref="category/java/errorprone.xml/ConstructorCallsOverridableMethod" /> -->
  202. <!-- <rule ref="category/java/errorprone.xml/DataflowAnomalyAnalysis" /> -->
  203. <!-- <rule ref="category/java/errorprone.xml/DetachedTestCase" /> -->
  204. <rule ref="category/java/errorprone.xml/DoNotCallGarbageCollectionExplicitly"/>
  205. <!-- <rule ref="category/java/errorprone.xml/DoNotCallSystemExit" /> -->
  206. <rule ref="category/java/errorprone.xml/DoNotExtendJavaLangThrowable"/>
  207. <!-- <rule ref="category/java/errorprone.xml/DoNotHardCodeSDCard" /> -->
  208. <!-- <rule ref="category/java/errorprone.xml/DoNotThrowExceptionInFinally" /> -->
  209. <!--<rule ref="category/java/errorprone.xml/DontImportSun" />-->
  210. <rule ref="category/java/errorprone.xml/DontUseFloatTypeForLoopIndices"/>
  211. <rule ref="category/java/errorprone.xml/EqualsNull"/>
  212. <!-- <rule ref="category/java/errorprone.xml/FinalizeDoesNotCallSuperFinalize" /> -->
  213. <!-- <rule ref="category/java/errorprone.xml/FinalizeOnlyCallsSuperFinalize" /> -->
  214. <!-- <rule ref="category/java/errorprone.xml/FinalizeOverloaded" /> -->
  215. <!-- <rule ref="category/java/errorprone.xml/FinalizeShouldBeProtected" /> -->
  216. <rule ref="category/java/errorprone.xml/IdempotentOperations"/>
  217. <rule ref="category/java/errorprone.xml/ImplicitSwitchFallThrough"/>
  218. <rule ref="category/java/errorprone.xml/InstantiationToGetClass"/>
  219. <!-- <rule ref="category/java/errorprone.xml/InvalidLogMessageFormat" /> -->
  220. <rule ref="category/java/errorprone.xml/JumbledIncrementer"/>
  221. <!-- <rule ref="category/java/errorprone.xml/JUnitSpelling" /> -->
  222. <!-- <rule ref="category/java/errorprone.xml/JUnitStaticSuite" /> -->
  223. <!-- <rule ref="category/java/errorprone.xml/LoggerIsNotStaticFinal" /> -->
  224. <!-- <rule ref="category/java/errorprone.xml/MethodWithSameNameAsEnclosingClass" /> -->
  225. <rule ref="category/java/errorprone.xml/MisplacedNullCheck"/>
  226. <!-- <rule ref="category/java/errorprone.xml/MissingSerialVersionUID" /> -->
  227. <rule ref="category/java/errorprone.xml/MissingStaticMethodInNonInstantiatableClass"/>
  228. <!-- <rule ref="category/java/errorprone.xml/MoreThanOneLogger" /> -->
  229. <rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement"/>
  230. <rule ref="category/java/errorprone.xml/NonStaticInitializer"/>
  231. <!-- <rule ref="category/java/errorprone.xml/NullAssignment" /> -->
  232. <rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode"/>
  233. <rule ref="category/java/errorprone.xml/ProperCloneImplementation"/>
  234. <rule ref="category/java/errorprone.xml/ProperLogger"/>
  235. <rule ref="category/java/errorprone.xml/ReturnEmptyCollectionRatherThanNull"/>
  236. <rule ref="category/java/errorprone.xml/ReturnFromFinallyBlock"/>
  237. <!-- <rule ref="category/java/errorprone.xml/SimpleDateFormatNeedsLocale" /> -->
  238. <rule ref="category/java/errorprone.xml/SingleMethodSingleton"/>
  239. <rule ref="category/java/errorprone.xml/SingletonClassReturningNewInstance"/>
  240. <!-- <rule ref="category/java/errorprone.xml/StaticEJBFieldShouldBeFinal" /> -->
  241. <!-- <rule ref="category/java/errorprone.xml/StringBufferInstantiationWithChar" /> -->
  242. <rule ref="category/java/errorprone.xml/SuspiciousEqualsMethodName"/>
  243. <rule ref="category/java/errorprone.xml/SuspiciousHashcodeMethodName"/>
  244. <rule ref="category/java/errorprone.xml/SuspiciousOctalEscape"/>
  245. <!-- <rule ref="category/java/errorprone.xml/TestClassWithoutTestCases" /> -->
  246. <rule ref="category/java/errorprone.xml/UnconditionalIfStatement"/>
  247. <!-- <rule ref="category/java/errorprone.xml/UnnecessaryBooleanAssertion" /> -->
  248. <!-- <rule ref="category/java/errorprone.xml/UnnecessaryCaseChange" /> -->
  249. <rule ref="category/java/errorprone.xml/UnnecessaryConversionTemporary"/>
  250. <rule ref="category/java/errorprone.xml/UnusedNullCheckInEquals"/>
  251. <!-- <rule ref="category/java/errorprone.xml/UseCorrectExceptionLogging" /> -->
  252. <rule ref="category/java/errorprone.xml/UseEqualsToCompareStrings"/>
  253. <rule ref="category/java/errorprone.xml/UselessOperationOnImmutable"/>
  254. <rule ref="category/java/errorprone.xml/UseLocaleWithCaseConversions"/>
  255. <!-- <rule ref="category/java/errorprone.xml/UseProperClassLoader" /> -->
  256. <!-- Empty rules -->
  257. <rule ref="category/java/codestyle.xml/EmptyControlStatement"/>
  258. <rule ref="category/java/codestyle.xml/UnnecessarySemicolon"/>
  259. <rule ref="category/java/errorprone.xml/EmptyCatchBlock"/>
  260. <rule ref="category/java/errorprone.xml/EmptyFinalizer"/>
  261. <!-- <rule ref="category/java/multithreading.xml/AvoidSynchronizedAtMethodLevel" /> -->
  262. <rule ref="category/java/multithreading.xml/AvoidThreadGroup"/>
  263. <rule ref="category/java/multithreading.xml/AvoidUsingVolatile"/>
  264. <!-- <rule ref="category/java/multithreading.xml/DoNotUseThreads" /> -->
  265. <rule ref="category/java/multithreading.xml/DontCallThreadRun"/>
  266. <rule ref="category/java/multithreading.xml/DoubleCheckedLocking"/>
  267. <rule ref="category/java/multithreading.xml/NonThreadSafeSingleton"/>
  268. <rule ref="category/java/multithreading.xml/UnsynchronizedStaticFormatter"/>
  269. <!-- <rule ref="category/java/multithreading.xml/UseConcurrentHashMap" /> -->
  270. <rule ref="category/java/multithreading.xml/UseNotifyAllInsteadOfNotify"/>
  271. <!-- <rule ref="category/java/performance.xml/AddEmptyString" /> -->
  272. <!-- <rule ref="category/java/performance.xml/AppendCharacterWithChar" /> -->
  273. <!-- <rule ref="category/java/performance.xml/AvoidArrayLoops" /> -->
  274. <!-- <rule ref="category/java/performance.xml/AvoidCalendarDateCreation" /> -->
  275. <!-- <rule ref="category/java/performance.xml/AvoidFileStream" /> -->
  276. <!-- <rule ref="category/java/performance.xml/AvoidInstantiatingObjectsInLoops" /> -->
  277. <rule ref="category/java/performance.xml/BigIntegerInstantiation"/>
  278. <!-- <rule ref="category/java/performance.xml/ConsecutiveAppendsShouldReuse" /> -->
  279. <!-- <rule ref="category/java/performance.xml/ConsecutiveLiteralAppends" /> -->
  280. <!-- <rule ref="category/java/performance.xml/InefficientEmptyStringCheck" /> -->
  281. <!-- <rule ref="category/java/performance.xml/InefficientStringBuffering" /> -->
  282. <!-- <rule ref="category/java/performance.xml/InsufficientStringBufferDeclaration" /> -->
  283. <rule ref="category/java/performance.xml/OptimizableToArrayCall"/>
  284. <!--<rule ref="category/java/performance.xml/RedundantFieldInitializer"/>-->
  285. <!-- <rule ref="category/java/performance.xml/StringInstantiation" /> -->
  286. <!-- <rule ref="category/java/performance.xml/StringToString" /> -->
  287. <!--<rule ref="category/java/performance.xml/TooFewBranchesForASwitchStatement"/>-->
  288. <!-- <rule ref="category/java/performance.xml/UseArrayListInsteadOfVector" /> -->
  289. <!-- <rule ref="category/java/performance.xml/UseArraysAsList" /> -->
  290. <!-- <rule ref="category/java/performance.xml/UseIndexOfChar" /> -->
  291. <!-- <rule ref="category/java/performance.xml/UseIOStreamsWithApacheCommonsFileItem" /> -->
  292. <!-- <rule ref="category/java/performance.xml/UselessStringValueOf" /> -->
  293. <!-- <rule ref="category/java/performance.xml/UseStringBufferForStringAppends" /> -->
  294. <!-- <rule ref="category/java/performance.xml/UseStringBufferLength" /> -->
  295. <!-- <rule ref="category/java/security.xml/HardCodedCryptoKey" /> -->
  296. <!-- <rule ref="category/java/security.xml/InsecureCryptoIv" /> -->
  297. </ruleset>