<?xml version="1.0" encoding="UTF-8"?>
<pmd>
    <useProjectRuleSet>false</useProjectRuleSet>
    <ruleSetFile>.ruleset</ruleSetFile>
    <rules>
        <rule>
            <name>CallSuperFirst</name>
            <ruleset>Android</ruleset>
        </rule>
        <rule>
            <name>CallSuperLast</name>
            <ruleset>Android</ruleset>
        </rule>
        <rule>
            <name>DoNotHardCodeSDCard</name>
            <ruleset>Android</ruleset>
        </rule>
        <rule>
            <name>AvoidBranchingStatementAsLastInLoop</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AvoidMultipleUnaryOperators</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AvoidThreadGroup</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AvoidUsingHardCodedIP</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AvoidUsingOctalValues</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>BigIntegerInstantiation</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>BooleanInstantiation</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>BrokenNullCheck</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>CheckResultSet</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>CheckSkipResult</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>ClassCastExceptionWithToArray</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>DontCallThreadRun</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>DontUseFloatTypeForLoopIndices</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>DoubleCheckedLocking</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>ExtendsObject</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>ForLoopShouldBeWhileLoop</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>JumbledIncrementer</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>MisplacedNullCheck</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>OverrideBothEqualsAndHashcode</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>ReturnFromFinallyBlock</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>UnconditionalIfStatement</name>
            <ruleset>Basic</ruleset>
        </rule>
        <rule>
            <name>AssignmentInOperand</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>AvoidTrailingComma</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>ConsistentReturn</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>EqualComparison</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>GlobalVariable</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>InnaccurateNumericLiteral</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>ScopeForInVariable</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>UnreachableCode</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>UseBaseWithParseInt</name>
            <ruleset>Basic Ecmascript</ruleset>
        </rule>
        <rule>
            <name>DontNestJsfInJstlIteration</name>
            <ruleset>Basic JSF</ruleset>
        </rule>
        <rule>
            <name>DuplicateJspImports</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>IframeMissingSrcAttribute</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>JspEncoding</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoClassAttribute</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoHtmlComments</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoInlineScript</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoInlineStyleInformation</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoJspForward</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoLongScripts</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoScriptlets</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>NoUnsanitizedJSPExpression</name>
            <ruleset>Basic JSP</ruleset>
        </rule>
        <rule>
            <name>AvoidDeeplyNestedIfStmts</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>AvoidReassigningParameters</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>CollapsibleIfStatements</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>EmptyForeachStmt</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>ExcessiveTemplateLength</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>NoInlineJavaScript</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>NoInlineStyles</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>UnusedMacroParameter</name>
            <ruleset>Basic Velocity</ruleset>
        </rule>
        <rule>
            <name>MistypedCDATASection</name>
            <ruleset>Basic XML</ruleset>
        </rule>
        <rule>
            <name>ForLoopsMustUseBraces</name>
            <ruleset>Braces</ruleset>
        </rule>
        <rule>
            <name>IfElseStmtsMustUseBraces</name>
            <ruleset>Braces</ruleset>
        </rule>
        <rule>
            <name>IfStmtsMustUseBraces</name>
            <ruleset>Braces</ruleset>
        </rule>
        <rule>
            <name>WhileLoopsMustUseBraces</name>
            <ruleset>Braces</ruleset>
        </rule>
        <rule>
            <name>CloneMethodMustImplementCloneable</name>
            <ruleset>Clone Implementation</ruleset>
        </rule>
        <rule>
            <name>CloneThrowsCloneNotSupportedException</name>
            <ruleset>Clone Implementation</ruleset>
        </rule>
        <rule>
            <name>ProperCloneImplementation</name>
            <ruleset>Clone Implementation</ruleset>
        </rule>
        <rule>
            <name>CyclomaticComplexity</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessiveClassLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessiveMethodLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessiveObjectLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessivePackageBodyLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessivePackageSpecificationLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessiveParameterList</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessivePublicCount</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ExcessiveTypeLength</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>ModifiedCyclomaticComplexity</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>NcssConstructorCount</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>NcssMethodCount</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>NcssObjectCount</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>NcssTypeCount</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>NPathComplexity</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>StdCyclomaticComplexity</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>TooManyFields</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>TooManyMethods</name>
            <ruleset>Code Size</ruleset>
        </rule>
        <rule>
            <name>CommentContent</name>
            <ruleset>Comments</ruleset>
        </rule>
        <rule>
            <name>CommentRequired</name>
            <ruleset>Comments</ruleset>
        </rule>
        <rule>
            <name>CommentSize</name>
            <ruleset>Comments</ruleset>
        </rule>
        <rule>
            <name>AtLeastOneConstructor</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidAccessibilityAlteration</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidFinalLocalVariable</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidLiteralsInIfCondition</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidPrefixingMethodParameters</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidUsingNativeCode</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidUsingShortType</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>AvoidUsingVolatile</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>BooleanInversion</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>CallSuperInConstructor</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>DataflowAnomalyAnalysis</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>DefaultPackage</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>DoNotCallGarbageCollectionExplicitly</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>DontImportSun</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>NullAssignment</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>OneDeclarationPerLine</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>OnlyOneReturn</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>SuspiciousOctalEscape</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryConstructor</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>UseConcurrentHashMap</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>UseObjectForClearerAPI</name>
            <ruleset>Controversial</ruleset>
        </rule>
        <rule>
            <name>CouplingBetweenObjects</name>
            <ruleset>Coupling</ruleset>
        </rule>
        <rule>
            <name>ExcessiveImports</name>
            <ruleset>Coupling</ruleset>
        </rule>
        <rule>
            <name>LawOfDemeter</name>
            <ruleset>Coupling</ruleset>
        </rule>
        <rule>
            <name>LooseCoupling</name>
            <ruleset>Coupling</ruleset>
        </rule>
        <rule>
            <name>LoosePackageCoupling</name>
            <ruleset>Coupling</ruleset>
        </rule>
        <rule>
            <name>AbstractClassWithoutAbstractMethod</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AbstractClassWithoutAnyMethod</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AccessorClassGeneration</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AssignmentToNonFinalStatic</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AvoidConstantsInterface</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AvoidInstanceofChecksInCatchClause</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AvoidProtectedFieldInFinalClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AvoidProtectedMethodInFinalClassNotExtending</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>AvoidSynchronizedAtMethodLevel</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>BadComparison</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>CloseResource</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>CompareObjectsWithEquals</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>ConfusingTernary</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>ConstructorCallsOverridableMethod</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>DefaultLabelNotLastInSwitchStmt</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>EqualsNull</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>FieldDeclarationsShouldBeAtStartOfClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>FinalFieldCouldBeStatic</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>GodClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>IdempotentOperations</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>ImmutableField</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>InstantiationToGetClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>LogicInversion</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>MissingBreakInSwitch</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>MissingStaticMethodInNonInstantiatableClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>NonCaseLabelInSwitchStatement</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>NonStaticInitializer</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>NonThreadSafeSingleton</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>OptimizableToArrayCall</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>PositionLiteralsFirstInCaseInsensitiveComparisons</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>PositionLiteralsFirstInComparisons</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>PreserveStackTrace</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>ReturnEmptyArrayRatherThanNull</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SimpleDateFormatNeedsLocale</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SimplifyBooleanExpressions</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SimplifyBooleanReturns</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SimplifyConditional</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SingularField</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SwitchDensity</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>SwitchStmtsShouldHaveDefault</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>TooFewBranchesForASwitchStatement</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UncommentedEmptyConstructor</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UncommentedEmptyMethodBody</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryLocalBeforeReturn</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UnsynchronizedStaticDateFormatter</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UseCollectionIsEmpty</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UseLocaleWithCaseConversions</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UseNotifyAllInsteadOfNotify</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UseUtilityClass</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>UseVarargs</name>
            <ruleset>Design</ruleset>
        </rule>
        <rule>
            <name>EmptyCatchBlock</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyFinallyBlock</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyIfStmt</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyInitializer</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyStatementBlock</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyStatementNotInLoop</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyStaticInitializer</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptySwitchStatements</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptySynchronizedBlock</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyTryBlock</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>EmptyWhileStmt</name>
            <ruleset>Empty Code</ruleset>
        </rule>
        <rule>
            <name>AvoidCallingFinalize</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>EmptyFinalizer</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>FinalizeDoesNotCallSuperFinalize</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>FinalizeOnlyCallsSuperFinalize</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>FinalizeOverloaded</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>FinalizeShouldBeProtected</name>
            <ruleset>Finalizer</ruleset>
        </rule>
        <rule>
            <name>DontImportJavaLang</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>DuplicateImports</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>ImportFromSamePackage</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>TooManyStaticImports</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryFullyQualifiedName</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>UnusedImports</name>
            <ruleset>Import Statements</ruleset>
        </rule>
        <rule>
            <name>DoNotCallSystemExit</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>DoNotUseThreads</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>LocalHomeNamingConvention</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>LocalInterfaceSessionNamingConvention</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>MDBAndSessionBeanNamingConvention</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>RemoteInterfaceNamingConvention</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>RemoteSessionInterfaceNamingConvention</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>StaticEJBFieldShouldBeFinal</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>UseProperClassLoader</name>
            <ruleset>J2EE</ruleset>
        </rule>
        <rule>
            <name>GuardDebugLogging</name>
            <ruleset>Jakarta Commons Logging</ruleset>
        </rule>
        <rule>
            <name>GuardLogStatement</name>
            <ruleset>Jakarta Commons Logging</ruleset>
        </rule>
        <rule>
            <name>ProperLogger</name>
            <ruleset>Jakarta Commons Logging</ruleset>
        </rule>
        <rule>
            <name>UseCorrectExceptionLogging</name>
            <ruleset>Jakarta Commons Logging</ruleset>
        </rule>
        <rule>
            <name>AvoidPrintStackTrace</name>
            <ruleset>Java Logging</ruleset>
        </rule>
        <rule>
            <name>GuardLogStatementJavaUtil</name>
            <ruleset>Java Logging</ruleset>
        </rule>
        <rule>
            <name>LoggerIsNotStaticFinal</name>
            <ruleset>Java Logging</ruleset>
        </rule>
        <rule>
            <name>MoreThanOneLogger</name>
            <ruleset>Java Logging</ruleset>
        </rule>
        <rule>
            <name>SystemPrintln</name>
            <ruleset>Java Logging</ruleset>
        </rule>
        <rule>
            <name>BeanMembersShouldSerialize</name>
            <ruleset>JavaBeans</ruleset>
        </rule>
        <rule>
            <name>MissingSerialVersionUID</name>
            <ruleset>JavaBeans</ruleset>
        </rule>
        <rule>
            <name>JUnitAssertionsShouldIncludeMessage</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>JUnitSpelling</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>JUnitStaticSuite</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>JUnitTestContainsTooManyAsserts</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>JUnitTestsShouldIncludeAssert</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>SimplifyBooleanAssertion</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>TestClassWithoutTestCases</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryBooleanAssertion</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>UseAssertEqualsInsteadOfAssertTrue</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>UseAssertNullInsteadOfAssertTrue</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>UseAssertSameInsteadOfAssertTrue</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>UseAssertTrueInsteadOfAssertEquals</name>
            <ruleset>JUnit</ruleset>
        </rule>
        <rule>
            <name>AvoidAssertAsIdentifier</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>AvoidEnumAsIdentifier</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>ByteInstantiation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>IntegerInstantiation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>JUnit4TestShouldUseAfterAnnotation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>JUnit4TestShouldUseBeforeAnnotation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>JUnit4TestShouldUseTestAnnotation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>JUnitUseExpected</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>LongInstantiation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>ReplaceEnumerationWithIterator</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>ReplaceHashtableWithMap</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>ReplaceVectorWithList</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>ShortInstantiation</name>
            <ruleset>Migration</ruleset>
        </rule>
        <rule>
            <name>AbstractNaming</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>AvoidDollarSigns</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>AvoidFieldNameMatchingMethodName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>AvoidFieldNameMatchingTypeName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>BooleanGetMethodName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>ClassNamingConventions</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>GenericsNaming</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>LongVariable</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>MethodNamingConventions</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>MethodWithSameNameAsEnclosingClass</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>MisleadingVariableName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>NoPackage</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>PackageCase</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>ShortClassName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>ShortMethodName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>ShortVariable</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>SuspiciousConstantFieldName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>SuspiciousEqualsMethodName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>SuspiciousHashcodeMethodName</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>VariableNamingConventions</name>
            <ruleset>Naming</ruleset>
        </rule>
        <rule>
            <name>AddEmptyString</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>AvoidArrayLoops</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>AvoidInstantiatingObjectsInLoops</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>LocalVariableCouldBeFinal</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>MethodArgumentCouldBeFinal</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>PrematureDeclaration</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>RedundantFieldInitializer</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>SimplifyStartsWith</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryWrapperObjectCreation</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>UseArrayListInsteadOfVector</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>UseArraysAsList</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>UseStringBufferForStringAppends</name>
            <ruleset>Optimization</ruleset>
        </rule>
        <rule>
            <name>TO_DATEWithoutDateFormat</name>
            <ruleset>PLSQL DATETIME</ruleset>
        </rule>
        <rule>
            <name>TO_DATE_TO_CHAR</name>
            <ruleset>PLSQL DATETIME</ruleset>
        </rule>
        <rule>
            <name>TO_TIMESTAMPWithoutDateFormat</name>
            <ruleset>PLSQL DATETIME</ruleset>
        </rule>
        <rule>
            <name>ArrayIsStoredDirectly</name>
            <ruleset>Security Code Guidelines</ruleset>
        </rule>
        <rule>
            <name>MethodReturnsInternalArray</name>
            <ruleset>Security Code Guidelines</ruleset>
        </rule>
        <rule>
            <name>AvoidCatchingGenericException</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidCatchingNPE</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidCatchingThrowable</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidLosingExceptionInformation</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidRethrowingException</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidThrowingNewInstanceOfSameException</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidThrowingNullPointerException</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AvoidThrowingRawExceptionTypes</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>DoNotExtendJavaLangError</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>DoNotThrowExceptionInFinally</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>ExceptionAsFlowControl</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>SignatureDeclareThrowsException</name>
            <ruleset>Strict Exceptions</ruleset>
        </rule>
        <rule>
            <name>AppendCharacterWithChar</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>AvoidDuplicateLiterals</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>AvoidStringBufferField</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>ConsecutiveAppendsShouldReuse</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>ConsecutiveLiteralAppends</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>InefficientEmptyStringCheck</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>InefficientStringBuffering</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>InsufficientStringBufferDeclaration</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>StringBufferInstantiationWithChar</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>StringInstantiation</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>StringToString</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryCaseChange</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>UseEqualsToCompareStrings</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>UseIndexOfChar</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>UselessStringValueOf</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>UseStringBufferLength</name>
            <ruleset>String and StringBuffer</ruleset>
        </rule>
        <rule>
            <name>TomKytesDespair</name>
            <ruleset>Tom Kyte's Despair</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryBlock</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryConversionTemporary</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryFinalModifier</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryParentheses</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnnecessaryReturn</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnusedNullCheckInEquals</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UselessOperationOnImmutable</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UselessOverridingMethod</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UselessParentheses</name>
            <ruleset>Unnecessary</ruleset>
        </rule>
        <rule>
            <name>UnusedFormalParameter</name>
            <ruleset>Unused Code</ruleset>
        </rule>
        <rule>
            <name>UnusedLocalVariable</name>
            <ruleset>Unused Code</ruleset>
        </rule>
        <rule>
            <name>UnusedModifier</name>
            <ruleset>Unused Code</ruleset>
        </rule>
        <rule>
            <name>UnusedPrivateField</name>
            <ruleset>Unused Code</ruleset>
        </rule>
        <rule>
            <name>UnusedPrivateMethod</name>
            <ruleset>Unused Code</ruleset>
        </rule>
        <rule>
            <name>AvoidAxisNavigation</name>
            <ruleset>XPath in XSL</ruleset>
        </rule>
        <rule>
            <name>UseConcatOnce</name>
            <ruleset>XPath in XSL</ruleset>
        </rule>
    </rules>
    <includeDerivedFiles>false</includeDerivedFiles>
    <violationsAsErrors>true</violationsAsErrors>
    <fullBuildEnabled>true</fullBuildEnabled>
</pmd>
