config/pmd/pmd-ruleset.xml (154 lines of code) (raw):
<?xml version="1.0"?>
<!--
~ MIT License
~
~ Copyright (c) 2021 EPAM Systems
~
~ Permission is hereby granted, free of charge, to any person obtaining a copy
~ of this software and associated documentation files (the "Software"), to deal
~ in the Software without restriction, including without limitation the rights
~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
~ copies of the Software, and to permit persons to whom the Software is
~ furnished to do so, subject to the following conditions:
~
~ The above copyright notice and this permission notice shall be included in all
~ copies or substantial portions of the Software.
~
~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
~ SOFTWARE.
-->
<ruleset name="quickstart"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd
http://pmd.sourceforge.net/ruleset/2.0.0 ">
<description>Quickstart configuration of PMD. Includes the rules that are most likely to apply everywhere.
</description>
<!-- <rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod" /> -->
<!-- <rule ref="category/java/bestpractices.xml/AccessorClassGeneration" /> -->
<!-- <rule ref="category/java/bestpractices.xml/AccessorMethodGeneration" /> -->
<!-- <rule ref="category/java/bestpractices.xml/ArrayIsStoredDirectly" /> -->
<!-- <rule ref="category/java/bestpractices.xml/AvoidPrintStackTrace" /> -->
<!-- <rule ref="category/java/bestpractices.xml/AvoidReassigningLoopVariables" /> -->
<!-- <rule ref="category/java/bestpractices.xml/AvoidReassigningParameters" /> -->
<rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/>
<rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/>
<rule ref="category/java/bestpractices.xml/CheckResultSet"/>
<rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
<rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
<rule ref="category/java/bestpractices.xml/DoubleBraceInitialization"/>
<rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/>
<!-- <rule ref="category/java/bestpractices.xml/ForLoopVariableCount" /> -->
<!-- <rule ref="category/java/bestpractices.xml/GuardLogStatement"/> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnit4SuitesShouldUseSuiteAnnotation" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseAfterAnnotation" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseBeforeAnnotation" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnit4TestShouldUseTestAnnotation" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnitAssertionsShouldIncludeMessage" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnitTestContainsTooManyAsserts" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnitTestsShouldIncludeAssert" /> -->
<!-- <rule ref="category/java/bestpractices.xml/JUnitUseExpected" /> -->
<rule ref="category/java/bestpractices.xml/LooseCoupling"/>
<!-- <rule ref="category/java/bestpractices.xml/MethodReturnsInternalArray" /> -->
<rule ref="category/java/bestpractices.xml/MissingOverride"/>
<rule ref="category/java/bestpractices.xml/OneDeclarationPerLine"/>
<rule ref="category/java/bestpractices.xml/PreserveStackTrace"/>
<!-- <rule ref="category/java/bestpractices.xml/ReplaceEnumerationWithIterator" /> -->
<!-- <rule ref="category/java/bestpractices.xml/ReplaceHashtableWithMap" /> -->
<!-- <rule ref="category/java/bestpractices.xml/ReplaceVectorWithList" /> -->
<rule ref="category/java/bestpractices.xml/SwitchStmtsShouldHaveDefault"/>
<!-- <rule ref="category/java/bestpractices.xml/SystemPrintln" /> -->
<rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/>
<rule ref="category/java/bestpractices.xml/UnusedImports"/>
<rule ref="category/java/bestpractices.xml/UnusedLocalVariable"/>
<rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
<rule ref="category/java/bestpractices.xml/UseAssertEqualsInsteadOfAssertTrue"/>
<rule ref="category/java/bestpractices.xml/UseAssertNullInsteadOfAssertTrue"/>
<rule ref="category/java/bestpractices.xml/UseAssertSameInsteadOfAssertTrue"/>
<rule ref="category/java/bestpractices.xml/UseAssertTrueInsteadOfAssertEquals"/>
<rule ref="category/java/bestpractices.xml/UseCollectionIsEmpty"/>
<!-- <rule ref="category/java/bestpractices.xml/UseTryWithResources" /> -->
<!-- <rule ref="category/java/bestpractices.xml/UseVarargs" /> -->
<!-- <rule ref="category/java/bestpractices.xml/WhileLoopWithLiteralBoolean" /> -->
<!-- NAMING CONVENTIONS -->
<rule ref="category/java/codestyle.xml/ClassNamingConventions">
<properties>
<property name="utilityClassPattern" value="[A-Z][a-zA-Z0-9]*"/>
</properties>
</rule>
<!--<rule ref="category/java/codestyle.xml/FieldNamingConventions" />-->
<rule ref="category/java/codestyle.xml/FormalParameterNamingConventions"/>
<rule ref="category/java/codestyle.xml/GenericsNaming"/>
<!-- <rule ref="category/java/codestyle.xml/LinguisticNaming" /> -->
<rule ref="category/java/codestyle.xml/LocalVariableNamingConventions"/>
<!-- <rule ref="category/java/codestyle.xml/LongVariable" /> -->
<rule ref="category/java/codestyle.xml/MethodNamingConventions"/>
<rule ref="category/java/codestyle.xml/PackageCase"/>
<!-- <rule ref="category/java/codestyle.xml/ShortClassName" /> -->
<!-- <rule ref="category/java/codestyle.xml/ShortMethodName" /> -->
<!-- <rule ref="category/java/codestyle.xml/ShortVariable" /> -->
<!-- <rule ref="category/java/codestyle.xml/LocalHomeNamingConvention" /> -->
<!-- <rule ref="category/java/codestyle.xml/LocalInterfaceSessionNamingConvention" /> -->
<!-- <rule ref="category/java/codestyle.xml/MDBAndSessionBeanNamingConvention" /> -->
<!-- <rule ref="category/java/codestyle.xml/RemoteInterfaceNamingConvention" /> -->
<!-- <rule ref="category/java/codestyle.xml/RemoteSessionInterfaceNamingConvention" /> -->
<!-- OTHER -->
<!-- <rule ref="category/java/codestyle.xml/AtLeastOneConstructor" /> -->
<rule ref="category/java/codestyle.xml/AvoidDollarSigns"/>
<!-- <rule ref="category/java/codestyle.xml/AvoidFinalLocalVariable" /> -->
<rule ref="category/java/codestyle.xml/AvoidProtectedFieldInFinalClass"/>
<rule ref="category/java/codestyle.xml/AvoidProtectedMethodInFinalClassNotExtending"/>
<!-- <rule ref="category/java/codestyle.xml/AvoidUsingNativeCode"/>-->
<!-- <rule ref="category/java/codestyle.xml/BooleanGetMethodName" /> -->
<!-- <rule ref="category/java/codestyle.xml/CallSuperInConstructor" /> -->
<!-- <rule ref="category/java/codestyle.xml/CommentDefaultAccessModifier" /> -->
<!-- <rule ref="category/java/codestyle.xml/ConfusingTernary" /> -->
<rule ref="category/java/codestyle.xml/ControlStatementBraces"/>
<!--<rule ref="category/java/codestyle.xml/DefaultPackage"/>-->
<rule ref="category/java/codestyle.xml/DontImportJavaLang"/>
<rule ref="category/java/codestyle.xml/DuplicateImports"/>
<!-- <rule ref="category/java/codestyle.xml/EmptyMethodInAbstractClassShouldBeAbstract" /> -->
<rule ref="category/java/codestyle.xml/ExtendsObject"/>
<!-- <rule ref="category/java/codestyle.xml/FieldDeclarationsShouldBeAtStartOfClass" /> -->
<rule ref="category/java/codestyle.xml/ForLoopShouldBeWhileLoop"/>
<rule ref="category/java/codestyle.xml/IdenticalCatchBranches"/>
<!-- <rule ref="category/java/codestyle.xml/LocalVariableCouldBeFinal" /> -->
<!-- <rule ref="category/java/codestyle.xml/MethodArgumentCouldBeFinal" /> -->
<rule ref="category/java/codestyle.xml/NoPackage"/>
<!-- <rule ref="category/java/codestyle.xml/UseUnderscoresInNumericLiterals" /> -->
<!-- <rule ref="category/java/codestyle.xml/OnlyOneReturn" /> -->
<!-- <rule ref="category/java/codestyle.xml/PrematureDeclaration" /> -->
<!-- <rule ref="category/java/codestyle.xml/SuspiciousConstantFieldName" /> -->
<!-- <rule ref="category/java/codestyle.xml/TooManyStaticImports" /> -->
<rule ref="category/java/codestyle.xml/UnnecessaryAnnotationValueElement"/>
<rule ref="category/java/codestyle.xml/UnnecessaryConstructor"/>
<rule ref="category/java/codestyle.xml/UnnecessaryFullyQualifiedName"/>
<rule ref="category/java/codestyle.xml/UnnecessaryLocalBeforeReturn"/>
<rule ref="category/java/codestyle.xml/UnnecessaryModifier"/>
<rule ref="category/java/codestyle.xml/UnnecessaryReturn"/>
<!-- <rule ref="category/java/codestyle.xml/UseDiamondOperator" /> -->
<rule ref="category/java/codestyle.xml/UselessParentheses"/>
<rule ref="category/java/codestyle.xml/UselessQualifiedThis"/>
<rule ref="category/java/design.xml/AbstractClassWithoutAnyMethod"/>
<!-- <rule ref="category/java/design.xml/AvoidCatchingGenericException" /> -->
<!-- <rule ref="category/java/design.xml/AvoidDeeplyNestedIfStmts" /> -->
<!-- <rule ref="category/java/design.xml/AvoidRethrowingException" /> -->
<!-- <rule ref="category/java/design.xml/AvoidThrowingNewInstanceOfSameException" /> -->
<!-- <rule ref="category/java/design.xml/AvoidThrowingNullPointerException" /> -->
<!-- <rule ref="category/java/design.xml/AvoidThrowingRawExceptionTypes" /> -->
<!-- <rule ref="category/java/design.xml/AvoidUncheckedExceptionsInSignatures" /> -->
<rule ref="category/java/design.xml/ClassWithOnlyPrivateConstructorsShouldBeFinal"/>
<!-- <rule ref="category/java/design.xml/CollapsibleIfStatements"/>-->
<!-- <rule ref="category/java/design.xml/CouplingBetweenObjects" /> -->
<!-- <rule ref="category/java/design.xml/CyclomaticComplexity" /> -->
<!-- <rule ref="category/java/design.xml/DataClass" /> -->
<rule ref="category/java/design.xml/DoNotExtendJavaLangError"/>
<!-- <rule ref="category/java/design.xml/ExceptionAsFlowControl" /> -->
<!-- <rule ref="category/java/design.xml/ExcessiveClassLength" /> -->
<!-- <rule ref="category/java/design.xml/ExcessiveImports" /> -->
<!-- <rule ref="category/java/design.xml/ExcessiveMethodLength" /> -->
<!-- <rule ref="category/java/design.xml/ExcessiveParameterList" /> -->
<!-- <rule ref="category/java/design.xml/ExcessivePublicCount" /> -->
<rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/>
<!-- <rule ref="category/java/design.xml/GodClass" /> -->
<!-- <rule ref="category/java/design.xml/ImmutableField" /> -->
<!-- <rule ref="category/java/design.xml/LawOfDemeter" /> -->
<rule ref="category/java/design.xml/LogicInversion"/>
<!-- <rule ref="category/java/design.xml/LoosePackageCouling"> -->
<!-- <properties> -->
<!-- <property name="packages" value="org.sample,org.sample2" /> -->
<!-- <property name="classes" value="org.sample.SampleInterface,org.sample2.SampleInterface" /> -->
<!-- </properties> -->
<!-- </rule> -->
<!-- <rule ref="category/java/design.xml/NcssCount" /> -->
<!-- <rule ref="category/java/design.xml/NPathComplexity" /> -->
<!-- <rule ref="category/java/design.xml/SignatureDeclareThrowsException" /> -->
<rule ref="category/java/design.xml/SimplifiedTernary"/>
<!-- <rule ref="category/java/design.xml/SimplifyBooleanAssertion" /> -->
<!-- <rule ref="category/java/design.xml/SimplifyBooleanExpressions" /> -->
<rule ref="category/java/design.xml/SimplifyBooleanReturns"/>
<rule ref="category/java/design.xml/SimplifyConditional"/>
<rule ref="category/java/design.xml/SingularField"/>
<!-- <rule ref="category/java/design.xml/SwitchDensity" /> -->
<!-- <rule ref="category/java/design.xml/TooManyFields" /> -->
<!-- <rule ref="category/java/design.xml/TooManyMethods" /> -->
<rule ref="category/java/design.xml/UselessOverridingMethod"/>
<!-- <rule ref="category/java/design.xml/UseObjectForClearerAPI" /> -->
<rule ref="category/java/design.xml/UseUtilityClass"/>
<!-- <rule ref="category/java/documentation.xml/CommentContent" /> -->
<!-- <rule ref="category/java/documentation.xml/CommentRequired" /> -->
<!-- <rule ref="category/java/documentation.xml/CommentSize" /> -->
<rule ref="category/java/documentation.xml/UncommentedEmptyConstructor"/>
<rule ref="category/java/documentation.xml/UncommentedEmptyMethodBody"/>
<rule ref="category/java/errorprone.xml/AssignmentInOperand">
<properties>
<property name="allowWhile" value="true"/>
</properties>
</rule>
<rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/>
<rule ref="category/java/errorprone.xml/AvoidAccessibilityAlteration"/>
<!-- <rule ref="category/java/errorprone.xml/AvoidAssertAsIdentifier" /> -->
<rule ref="category/java/errorprone.xml/AvoidBranchingStatementAsLastInLoop"/>
<!-- <rule ref="category/java/errorprone.xml/AvoidCallingFinalize" /> -->
<!-- <rule ref="category/java/errorprone.xml/AvoidCatchingNPE" /> -->
<rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"/>
<rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
<!-- <rule ref="category/java/errorprone.xml/AvoidDuplicateLiterals" /> -->
<!-- <rule ref="category/java/errorprone.xml/AvoidEnumAsIdentifier" /> -->
<!-- <rule ref="category/java/errorprone.xml/AvoidFieldNameMatchingMethodName" /> -->
<!-- <rule ref="category/java/errorprone.xml/AvoidFieldNameMatchingTypeName" /> -->
<rule ref="category/java/errorprone.xml/AvoidInstanceofChecksInCatchClause"/>
<!-- <rule ref="category/java/errorprone.xml/AvoidLiteralsInIfCondition" /> -->
<!-- <rule ref="category/java/errorprone.xml/AvoidLosingExceptionInformation" /> -->
<rule ref="category/java/errorprone.xml/AvoidMultipleUnaryOperators"/>
<rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/>
<rule ref="category/java/errorprone.xml/BadComparison"/>
<!-- <rule ref="category/java/errorprone.xml/BeanMembersShouldSerialize" /> -->
<rule ref="category/java/errorprone.xml/BrokenNullCheck"/>
<!-- <rule ref="category/java/errorprone.xml/CallSuperFirst" /> -->
<!-- <rule ref="category/java/errorprone.xml/CallSuperLast" /> -->
<rule ref="category/java/errorprone.xml/CheckSkipResult"/>
<rule ref="category/java/errorprone.xml/ClassCastExceptionWithToArray"/>
<rule ref="category/java/errorprone.xml/CloneMethodMustBePublic"/>
<rule ref="category/java/errorprone.xml/CloneMethodMustImplementCloneable"/>
<rule ref="category/java/errorprone.xml/CloneMethodReturnTypeMustMatchClassName"/>
<rule ref="category/java/errorprone.xml/CloneThrowsCloneNotSupportedException"/>
<rule ref="category/java/errorprone.xml/CloseResource"/>
<rule ref="category/java/errorprone.xml/CompareObjectsWithEquals"/>
<!-- <rule ref="category/java/errorprone.xml/ConstructorCallsOverridableMethod" /> -->
<!-- <rule ref="category/java/errorprone.xml/DataflowAnomalyAnalysis" /> -->
<!-- <rule ref="category/java/errorprone.xml/DetachedTestCase" /> -->
<rule ref="category/java/errorprone.xml/DoNotCallGarbageCollectionExplicitly"/>
<!-- <rule ref="category/java/errorprone.xml/DoNotCallSystemExit" /> -->
<rule ref="category/java/errorprone.xml/DoNotExtendJavaLangThrowable"/>
<!-- <rule ref="category/java/errorprone.xml/DoNotHardCodeSDCard" /> -->
<!-- <rule ref="category/java/errorprone.xml/DoNotThrowExceptionInFinally" /> -->
<!--<rule ref="category/java/errorprone.xml/DontImportSun" />-->
<rule ref="category/java/errorprone.xml/DontUseFloatTypeForLoopIndices"/>
<rule ref="category/java/errorprone.xml/EqualsNull"/>
<!-- <rule ref="category/java/errorprone.xml/FinalizeDoesNotCallSuperFinalize" /> -->
<!-- <rule ref="category/java/errorprone.xml/FinalizeOnlyCallsSuperFinalize" /> -->
<!-- <rule ref="category/java/errorprone.xml/FinalizeOverloaded" /> -->
<!-- <rule ref="category/java/errorprone.xml/FinalizeShouldBeProtected" /> -->
<rule ref="category/java/errorprone.xml/IdempotentOperations"/>
<rule ref="category/java/errorprone.xml/ImportFromSamePackage"/>
<rule ref="category/java/errorprone.xml/InstantiationToGetClass"/>
<!-- <rule ref="category/java/errorprone.xml/InvalidSlf4jMessageFormat" /> -->
<rule ref="category/java/errorprone.xml/JumbledIncrementer"/>
<!-- <rule ref="category/java/errorprone.xml/JUnitSpelling" /> -->
<!-- <rule ref="category/java/errorprone.xml/JUnitStaticSuite" /> -->
<!-- <rule ref="category/java/errorprone.xml/LoggerIsNotStaticFinal" /> -->
<!-- <rule ref="category/java/errorprone.xml/MethodWithSameNameAsEnclosingClass" /> -->
<rule ref="category/java/errorprone.xml/MisplacedNullCheck"/>
<rule ref="category/java/errorprone.xml/MissingBreakInSwitch"/>
<!-- <rule ref="category/java/errorprone.xml/MissingSerialVersionUID" /> -->
<rule ref="category/java/errorprone.xml/MissingStaticMethodInNonInstantiatableClass"/>
<!-- <rule ref="category/java/errorprone.xml/MoreThanOneLogger" /> -->
<rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement"/>
<rule ref="category/java/errorprone.xml/NonStaticInitializer"/>
<!-- <rule ref="category/java/errorprone.xml/NullAssignment" /> -->
<rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode"/>
<rule ref="category/java/errorprone.xml/ProperCloneImplementation"/>
<rule ref="category/java/errorprone.xml/ProperLogger"/>
<rule ref="category/java/errorprone.xml/ReturnEmptyArrayRatherThanNull"/>
<rule ref="category/java/errorprone.xml/ReturnFromFinallyBlock"/>
<!-- <rule ref="category/java/errorprone.xml/SimpleDateFormatNeedsLocale" /> -->
<rule ref="category/java/errorprone.xml/SingleMethodSingleton"/>
<rule ref="category/java/errorprone.xml/SingletonClassReturningNewInstance"/>
<!-- <rule ref="category/java/errorprone.xml/StaticEJBFieldShouldBeFinal" /> -->
<!-- <rule ref="category/java/errorprone.xml/StringBufferInstantiationWithChar" /> -->
<rule ref="category/java/errorprone.xml/SuspiciousEqualsMethodName"/>
<rule ref="category/java/errorprone.xml/SuspiciousHashcodeMethodName"/>
<rule ref="category/java/errorprone.xml/SuspiciousOctalEscape"/>
<!-- <rule ref="category/java/errorprone.xml/TestClassWithoutTestCases" /> -->
<rule ref="category/java/errorprone.xml/UnconditionalIfStatement"/>
<!-- <rule ref="category/java/errorprone.xml/UnnecessaryBooleanAssertion" /> -->
<!-- <rule ref="category/java/errorprone.xml/UnnecessaryCaseChange" /> -->
<rule ref="category/java/errorprone.xml/UnnecessaryConversionTemporary"/>
<rule ref="category/java/errorprone.xml/UnusedNullCheckInEquals"/>
<!-- <rule ref="category/java/errorprone.xml/UseCorrectExceptionLogging" /> -->
<rule ref="category/java/errorprone.xml/UseEqualsToCompareStrings"/>
<rule ref="category/java/errorprone.xml/UselessOperationOnImmutable"/>
<rule ref="category/java/errorprone.xml/UseLocaleWithCaseConversions"/>
<!-- <rule ref="category/java/errorprone.xml/UseProperClassLoader" /> -->
<!-- Empty rules -->
<rule ref="category/java/errorprone.xml/EmptyCatchBlock"/>
<rule ref="category/java/errorprone.xml/EmptyFinalizer"/>
<rule ref="category/java/errorprone.xml/EmptyFinallyBlock"/>
<rule ref="category/java/errorprone.xml/EmptyIfStmt"/>
<rule ref="category/java/errorprone.xml/EmptyInitializer"/>
<rule ref="category/java/errorprone.xml/EmptyStatementBlock"/>
<rule ref="category/java/errorprone.xml/EmptyStatementNotInLoop"/>
<rule ref="category/java/errorprone.xml/EmptySwitchStatements"/>
<rule ref="category/java/errorprone.xml/EmptySynchronizedBlock"/>
<rule ref="category/java/errorprone.xml/EmptyTryBlock"/>
<rule ref="category/java/errorprone.xml/EmptyWhileStmt"/>
<!-- <rule ref="category/java/multithreading.xml/AvoidSynchronizedAtMethodLevel" /> -->
<rule ref="category/java/multithreading.xml/AvoidThreadGroup"/>
<rule ref="category/java/multithreading.xml/AvoidUsingVolatile"/>
<!-- <rule ref="category/java/multithreading.xml/DoNotUseThreads" /> -->
<rule ref="category/java/multithreading.xml/DontCallThreadRun"/>
<rule ref="category/java/multithreading.xml/DoubleCheckedLocking"/>
<rule ref="category/java/multithreading.xml/NonThreadSafeSingleton"/>
<rule ref="category/java/multithreading.xml/UnsynchronizedStaticFormatter"/>
<!-- <rule ref="category/java/multithreading.xml/UseConcurrentHashMap" /> -->
<rule ref="category/java/multithreading.xml/UseNotifyAllInsteadOfNotify"/>
<!-- <rule ref="category/java/performance.xml/AddEmptyString" /> -->
<!-- <rule ref="category/java/performance.xml/AppendCharacterWithChar" /> -->
<!-- <rule ref="category/java/performance.xml/AvoidArrayLoops" /> -->
<!-- <rule ref="category/java/performance.xml/AvoidFileStream" /> -->
<!-- <rule ref="category/java/performance.xml/AvoidInstantiatingObjectsInLoops" /> -->
<!-- <rule ref="category/java/performance.xml/AvoidUsingShortType"/> -->
<rule ref="category/java/performance.xml/BigIntegerInstantiation"/>
<rule ref="category/java/performance.xml/BooleanInstantiation"/>
<!-- <rule ref="category/java/performance.xml/ByteInstantiation" /> -->
<!-- <rule ref="category/java/performance.xml/ConsecutiveAppendsShouldReuse" /> -->
<!-- <rule ref="category/java/performance.xml/ConsecutiveLiteralAppends" /> -->
<!-- <rule ref="category/java/performance.xml/InefficientEmptyStringCheck" /> -->
<!-- <rule ref="category/java/performance.xml/InefficientStringBuffering" /> -->
<!-- <rule ref="category/java/performance.xml/InsufficientStringBufferDeclaration" /> -->
<!-- <rule ref="category/java/performance.xml/IntegerInstantiation" /> -->
<!-- <rule ref="category/java/performance.xml/LongInstantiation" /> -->
<rule ref="category/java/performance.xml/OptimizableToArrayCall"/>
<!--<rule ref="category/java/performance.xml/RedundantFieldInitializer"/>-->
<!-- <rule ref="category/java/performance.xml/SimplifyStartsWith" /> -->
<!-- <rule ref="category/java/performance.xml/ShortInstantiation" /> -->
<!-- <rule ref="category/java/performance.xml/StringInstantiation" /> -->
<!-- <rule ref="category/java/performance.xml/StringToString" /> -->
<!--<rule ref="category/java/performance.xml/TooFewBranchesForASwitchStatement"/>-->
<!-- <rule ref="category/java/performance.xml/UnnecessaryWrapperObjectCreation" /> -->
<!-- <rule ref="category/java/performance.xml/UseArrayListInsteadOfVector" /> -->
<!-- <rule ref="category/java/performance.xml/UseArraysAsList" /> -->
<!-- <rule ref="category/java/performance.xml/UseIndexOfChar" /> -->
<!-- <rule ref="category/java/performance.xml/UselessStringValueOf" /> -->
<!-- <rule ref="category/java/performance.xml/UseStringBufferForStringAppends" /> -->
<!-- <rule ref="category/java/performance.xml/UseStringBufferLength" /> -->
<!-- <rule ref="category/java/security.xml/HardCodedCryptoKey" /> -->
<!-- <rule ref="category/java/security.xml/InsecureCryptoIv" /> -->
<rule ref="category/java/design.xml/UseUtilityClass">
<properties>
<property name="ignoredAnnotations" value="org.springframework.boot.autoconfigure.SpringBootApplication"/>
</properties>
</rule>
<rule ref="category/java/bestpractices.xml/UnusedPrivateMethod">
<properties>
<property name="ignoredAnnotations" value="java.lang.Deprecated|org.aspectj.lang.annotation.Pointcut"/>
</properties>
</rule>
</ruleset>