<?xml version="1.0"?>
<ruleset name="Custom ruleset"
         xmlns="http://pmd.sf.net/ruleset/1.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
  <description>
    Rules for the whole project
  </description>

  <rule ref="category/java/bestpractices.xml/AbstractClassWithoutAbstractMethod"/>
  <rule ref="category/java/bestpractices.xml/AvoidReassigningLoopVariables"/>
  <rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
  <rule ref="category/java/bestpractices.xml/MissingOverride"/>
  <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/codestyle.xml/UnnecessaryConstructor"/>
  <rule ref="category/java/codestyle.xml/UnnecessaryLocalBeforeReturn"/>
  <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/DoNotExtendJavaLangError"/>
  <rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/>
  <rule ref="category/java/design.xml/ImmutableField"/>
  <rule ref="category/java/design.xml/LogicInversion"/>
  <rule ref="category/java/design.xml/SimplifyBooleanExpressions"/>
  <rule ref="category/java/design.xml/SimplifyBooleanReturns"/>
  <rule ref="category/java/design.xml/SingularField"/>
  <rule ref="category/java/errorprone.xml/AssignmentInOperand"/>
  <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/AvoidMultipleUnaryOperators"/>
  <rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/>
  <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/DoNotHardCodeSDCard" />
  <rule ref="category/java/errorprone.xml/DoNotThrowExceptionInFinally"/>
  <rule ref="category/java/errorprone.xml/EqualsNull"/>
  <rule ref="category/java/errorprone.xml/IdempotentOperations"/>
  <rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement"/>
  <rule ref="category/java/performance.xml/AddEmptyString"/>
  <rule ref="category/java/performance.xml/UnnecessaryWrapperObjectCreation"/>
  <rule ref="category/java/performance.xml/UseArraysAsList"/>
  <rule ref="category/java/security.xml"/>

</ruleset>