<?xml version="1.0"?>
<ruleset name="pmd"
    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>United Front 2 PMD Rules</description>

  <rule ref="/rulesets/basic.xml">
    <exclude name="UselessOverridingMethod"/>
  </rule>
  <rule ref="/rulesets/braces.xml"/>
  <rule ref="/rulesets/codesize.xml">
    <exclude name="ExcessivePublicCount"/>
    <exclude name="TooManyFields"/>
    <exclude name="TooManyMethods"/>
  </rule>
  <rule ref="/rulesets/clone.xml"/>
  <rule ref="/rulesets/controversial.xml">
    <exclude name="AtLeastOneConstructor"/>
    <exclude name="DataflowAnomalyAnalysis"/>
    <exclude name="NullAssignment"/>
    <exclude name="OnlyOneReturn"/>
    <exclude name="SingularField"/>
  </rule>
  <rule ref="/rulesets/coupling.xml">
    <exclude name="ExcessiveImports"/>
  </rule>
  <rule ref="/rulesets/design.xml">
    <exclude name="AbstractClassWithoutAbstractMethod"/>
    <exclude name="AbstractClassWithoutAnyMethod"/>
    <exclude name="CompareObjectsWithEquals"/><!-- Enum が含まれてしまっている -->
    <exclude name="ConfusingTernary"/>
    <exclude name="EmptyMethodInAbstractClassShouldBeAbstract"/>
    <exclude name="ImmutableField"/>
    <exclude name="UseSingleton"/>
  </rule>
  <rule ref="/rulesets/finalizers.xml"/>
  <rule ref="/rulesets/imports.xml"/>
  <rule ref="/rulesets/j2ee.xml">
    <exclude name="DoNotUseThreads"/>
  </rule>
  <rule ref="/rulesets/javabeans.xml">
    <exclude name="BeanMembersShouldSerialize"/>
  </rule>
  <rule ref="/rulesets/logging-jakarta-commons.xml">
    <exclude name="ProperLogger"/>
  </rule>
  <rule ref="/rulesets/naming.xml">
    <exclude name="AbstractNaming"/>
    <exclude name="AvoidFieldNameMatchingMethodName"/>
    <exclude name="LongVariable"/>
    <exclude name="ShortVariable"/>
  </rule>
  <rule ref="/rulesets/optimizations.xml">
    <exclude name="AvoidInstantiatingObjectsInLoops"/>
    <exclude name="LocalVariableCouldBeFinal"/>
    <exclude name="MethodArgumentCouldBeFinal"/>
  </rule>
  <rule ref="/rulesets/strictexception.xml">
    <exclude name="SignatureDeclareThrowsException"/>
  </rule>
  <rule ref="/rulesets/strings.xml">
    <exclude name="AvoidDuplicateLiterals"/>
  </rule>
  <rule ref="/rulesets/sunsecure.xml"/>
  <rule ref="/rulesets/unusedcode.xml"/>

</ruleset>
