<?xml version="1.0"?>

<ruleset name="Custom Rules"
         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">

    <description>
        My custom rules
    </description>

    <rule ref="category/java/bestpractices.xml/AccessorClassGeneration"/>


    <!-- <rule ref="category/java/bestpractices.xml/AvoidMessageDigestField"/> -->


    <rule ref="category/java/bestpractices.xml/AvoidReassigningCatchVariables"/>
    <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/DefaultLabelNotLastInSwitch"/>
    <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/UnitTestShouldUseAfterAnnotation"/>
    <rule ref="category/java/bestpractices.xml/UnitTestShouldUseBeforeAnnotation"/>
    <rule ref="category/java/bestpractices.xml/UnitTestShouldUseTestAnnotation"/>
    <rule ref="category/java/bestpractices.xml/JUnit5TestShouldBePackagePrivate"/>
    <!-- <rule ref="category/java/bestpractices.xml/UnitTestAssertionsShouldIncludeMessage"/> -->
    <!-- <rule ref="category/java/bestpractices.xml/UnitTestContainsTooManyAsserts"/> -->
    <!-- <rule ref="category/java/bestpractices.xml/UnitTestShouldIncludeAssert"/> -->
    <rule ref="category/java/bestpractices.xml/JUnitUseExpected"/>
    <rule ref="category/java/bestpractices.xml/LiteralsFirstInComparisons"/>
    <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/PrimitiveWrapperInstantiation"/>
    <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/SimplifiableTestAssertion"/>
    <rule ref="category/java/bestpractices.xml/NonExhaustiveSwitch"/>
    <rule ref="category/java/bestpractices.xml/UnusedAssignment"/>
    <rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/>
    <rule ref="category/java/bestpractices.xml/UnusedLocalVariable"/>
    <rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
    <rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/>
    <rule ref="category/java/bestpractices.xml/UseCollectionIsEmpty"/>
    <rule ref="category/java/bestpractices.xml/UseStandardCharsets"/>
    <rule ref="category/java/bestpractices.xml/WhileLoopWithLiteralBoolean"/>

</ruleset>
