[




{
"title": "3rd party rulesets",
"tags": "rule_referencesuserdocs",
"keywords": "",
"url": "pmd_userdocs_3rdpartyrulesets.html",
"summary": "Lists rulesets and rules from the community"
}



,







{
"title": "How to add a new CPD language",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_cpd_language.html",
"summary": "How to add a new CPD language"
}



,





{
"title": "Adding PMD support for a new language",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_language.html",
"summary": "How to add a new language to PMD."
}



,





{
"title": "Adding support for metrics to a language",
"tags": "devdocsextendingmetrics",
"keywords": "",
"url": "pmd_devdocs_major_adding_new_metrics_framework.html",
"summary": "PMD's Java module has an extensive framework for the calculation of metrics, which allows rule developers to implement and use new code metrics very simply. Most of the functionality of this framework is abstracted in such a way that any PMD supported language can implement such a framework without too much trouble. Here's how."
}



,





{
"title": "ADR 1 - Use architecture decision records",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_1.html",
"summary": ""
}



,





{
"title": "ADR 2 - Policy on the use of Kotlin for development",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_2.html",
"summary": ""
}



,





{
"title": "ADR NNN - Template",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions_adr_NNN.html",
"summary": ""
}



,





{
"title": "Ant Task Usage",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_ant.html",
"summary": ""
}



,





{
"title": "Apex Rules",
"tags": "rule_referencesapex",
"keywords": "",
"url": "pmd_rules_apex.html",
"summary": "Index of all built-in rules available for Apex"
}



,





{
"title": "Index of Apex code metrics",
"tags": "extendingmetrics",
"keywords": "",
"url": "pmd_apex_metrics_index.html",
"summary": "Index of the code metrics available out of the box to Apex rule developers."
}



,





{
"title": "Creating XML dump of the AST",
"tags": "devdocsexperimental",
"keywords": "",
"url": "pmd_devdocs_experimental_ast_dump.html",
"summary": "Creating a XML representation of the AST allows to analyze the AST with other tools."
}



,





{
"title": "Best Practices",
"tags": "userdocs",
"keywords": "",
"url": "pmd_userdocs_best_practices.html",
"summary": ""
}



,







{
"title": "Best Practices (Ecmascript, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_ecmascript_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidWithStatement (Ecmascript, Best Practices)",
"tags": "",
"keywords": "AvoidWithStatement",
"url": "pmd_rules_ecmascript_bestpractices.html#avoidwithstatement",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ConsistentReturn (Ecmascript, Best Practices)",
"tags": "",
"keywords": "ConsistentReturn",
"url": "pmd_rules_ecmascript_bestpractices.html#consistentreturn",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "GlobalVariable (Ecmascript, Best Practices)",
"tags": "",
"keywords": "GlobalVariable",
"url": "pmd_rules_ecmascript_bestpractices.html#globalvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ScopeForInVariable (Ecmascript, Best Practices)",
"tags": "",
"keywords": "ScopeForInVariable",
"url": "pmd_rules_ecmascript_bestpractices.html#scopeforinvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseBaseWithParseInt (Ecmascript, Best Practices)",
"tags": "",
"keywords": "UseBaseWithParseInt",
"url": "pmd_rules_ecmascript_bestpractices.html#usebasewithparseint",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (Apex, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_apex_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ApexAssertionsShouldIncludeMessage (Apex, Best Practices)",
"tags": "",
"keywords": "ApexAssertionsShouldIncludeMessage",
"url": "pmd_rules_apex_bestpractices.html#apexassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ApexUnitTestClassShouldHaveAsserts (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestClassShouldHaveAsserts",
"url": "pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaveasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ApexUnitTestClassShouldHaveRunAs (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestClassShouldHaveRunAs",
"url": "pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaverunas",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ApexUnitTestMethodShouldHaveIsTestAnnotation (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestMethodShouldHaveIsTestAnnotation",
"url": "pmd_rules_apex_bestpractices.html#apexunittestmethodshouldhaveistestannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ApexUnitTestShouldNotUseSeeAllDataTrue (Apex, Best Practices)",
"tags": "",
"keywords": "ApexUnitTestShouldNotUseSeeAllDataTrue",
"url": "pmd_rules_apex_bestpractices.html#apexunittestshouldnotuseseealldatatrue",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidGlobalModifier (Apex, Best Practices)",
"tags": "",
"keywords": "AvoidGlobalModifier",
"url": "pmd_rules_apex_bestpractices.html#avoidglobalmodifier",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidLogicInTrigger (Apex, Best Practices)",
"tags": "",
"keywords": "AvoidLogicInTrigger",
"url": "pmd_rules_apex_bestpractices.html#avoidlogicintrigger",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "DebugsShouldUseLoggingLevel (Apex, Best Practices)",
"tags": "",
"keywords": "DebugsShouldUseLoggingLevel",
"url": "pmd_rules_apex_bestpractices.html#debugsshoulduselogginglevel",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedLocalVariable (Apex, Best Practices)",
"tags": "",
"keywords": "UnusedLocalVariable",
"url": "pmd_rules_apex_bestpractices.html#unusedlocalvariable",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (Modelica, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_modelica_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ClassStartNameEqualsEndName (Modelica, Best Practices)",
"tags": "",
"keywords": "ClassStartNameEqualsEndName",
"url": "pmd_rules_modelica_bestpractices.html#classstartnameequalsendname",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ConnectUsingNonConnector (Modelica, Best Practices)",
"tags": "",
"keywords": "ConnectUsingNonConnector",
"url": "pmd_rules_modelica_bestpractices.html#connectusingnonconnector",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AmbiguousResolution (Modelica, Best Practices)",
"tags": "",
"keywords": "AmbiguousResolution",
"url": "pmd_rules_modelica_bestpractices.html#ambiguousresolution",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_jsp_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "DontNestJsfInJstlIteration (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "DontNestJsfInJstlIteration",
"url": "pmd_rules_jsp_bestpractices.html#dontnestjsfinjstliteration",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "NoClassAttribute (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoClassAttribute",
"url": "pmd_rules_jsp_bestpractices.html#noclassattribute",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "NoHtmlComments (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoHtmlComments",
"url": "pmd_rules_jsp_bestpractices.html#nohtmlcomments",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "NoJspForward (Java Server Pages, Best Practices)",
"tags": "",
"keywords": "NoJspForward",
"url": "pmd_rules_jsp_bestpractices.html#nojspforward",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (HTML, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_html_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidInlineStyles (HTML, Best Practices)",
"tags": "",
"keywords": "AvoidInlineStyles",
"url": "pmd_rules_html_bestpractices.html#avoidinlinestyles",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnnecessaryTypeAttribute (HTML, Best Practices)",
"tags": "",
"keywords": "UnnecessaryTypeAttribute",
"url": "pmd_rules_html_bestpractices.html#unnecessarytypeattribute",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseAltAttributeForImages (HTML, Best Practices)",
"tags": "",
"keywords": "UseAltAttributeForImages",
"url": "pmd_rules_html_bestpractices.html#usealtattributeforimages",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (VM, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_vm_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidReassigningParameters (VM, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningParameters",
"url": "pmd_rules_vm_bestpractices.html#avoidreassigningparameters",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedMacroParameter (VM, Best Practices)",
"tags": "",
"keywords": "UnusedMacroParameter",
"url": "pmd_rules_vm_bestpractices.html#unusedmacroparameter",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (Java, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_java_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AbstractClassWithoutAbstractMethod (Java, Best Practices)",
"tags": "",
"keywords": "AbstractClassWithoutAbstractMethod",
"url": "pmd_rules_java_bestpractices.html#abstractclasswithoutabstractmethod",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AccessorClassGeneration (Java, Best Practices)",
"tags": "",
"keywords": "AccessorClassGeneration",
"url": "pmd_rules_java_bestpractices.html#accessorclassgeneration",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AccessorMethodGeneration (Java, Best Practices)",
"tags": "",
"keywords": "AccessorMethodGeneration",
"url": "pmd_rules_java_bestpractices.html#accessormethodgeneration",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ArrayIsStoredDirectly (Java, Best Practices)",
"tags": "",
"keywords": "ArrayIsStoredDirectly",
"url": "pmd_rules_java_bestpractices.html#arrayisstoreddirectly",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidMessageDigestField (Java, Best Practices)",
"tags": "",
"keywords": "AvoidMessageDigestField",
"url": "pmd_rules_java_bestpractices.html#avoidmessagedigestfield",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidPrintStackTrace (Java, Best Practices)",
"tags": "",
"keywords": "AvoidPrintStackTrace",
"url": "pmd_rules_java_bestpractices.html#avoidprintstacktrace",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidReassigningCatchVariables (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningCatchVariables",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningcatchvariables",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidReassigningLoopVariables (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningLoopVariables",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningloopvariables",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidReassigningParameters (Java, Best Practices)",
"tags": "",
"keywords": "AvoidReassigningParameters",
"url": "pmd_rules_java_bestpractices.html#avoidreassigningparameters",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidStringBufferField (Java, Best Practices)",
"tags": "",
"keywords": "AvoidStringBufferField",
"url": "pmd_rules_java_bestpractices.html#avoidstringbufferfield",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "AvoidUsingHardCodedIP (Java, Best Practices)",
"tags": "",
"keywords": "AvoidUsingHardCodedIP",
"url": "pmd_rules_java_bestpractices.html#avoidusinghardcodedip",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "CheckResultSet (Java, Best Practices)",
"tags": "",
"keywords": "CheckResultSet",
"url": "pmd_rules_java_bestpractices.html#checkresultset",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ConstantsInInterface (Java, Best Practices)",
"tags": "",
"keywords": "ConstantsInInterface",
"url": "pmd_rules_java_bestpractices.html#constantsininterface",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "DefaultLabelNotLastInSwitchStmt (Java, Best Practices)",
"tags": "",
"keywords": "DefaultLabelNotLastInSwitchStmt",
"url": "pmd_rules_java_bestpractices.html#defaultlabelnotlastinswitchstmt",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "DoubleBraceInitialization (Java, Best Practices)",
"tags": "",
"keywords": "DoubleBraceInitialization",
"url": "pmd_rules_java_bestpractices.html#doublebraceinitialization",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ForLoopCanBeForeach (Java, Best Practices)",
"tags": "",
"keywords": "ForLoopCanBeForeach",
"url": "pmd_rules_java_bestpractices.html#forloopcanbeforeach",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ForLoopVariableCount (Java, Best Practices)",
"tags": "",
"keywords": "ForLoopVariableCount",
"url": "pmd_rules_java_bestpractices.html#forloopvariablecount",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "GuardLogStatement (Java, Best Practices)",
"tags": "",
"keywords": "GuardLogStatement",
"url": "pmd_rules_java_bestpractices.html#guardlogstatement",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnit4SuitesShouldUseSuiteAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4SuitesShouldUseSuiteAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4suitesshouldusesuiteannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnit4TestShouldUseAfterAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseAfterAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshoulduseafterannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnit4TestShouldUseBeforeAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseBeforeAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshouldusebeforeannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnit4TestShouldUseTestAnnotation (Java, Best Practices)",
"tags": "",
"keywords": "JUnit4TestShouldUseTestAnnotation",
"url": "pmd_rules_java_bestpractices.html#junit4testshouldusetestannotation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnit5TestShouldBePackagePrivate (Java, Best Practices)",
"tags": "",
"keywords": "JUnit5TestShouldBePackagePrivate",
"url": "pmd_rules_java_bestpractices.html#junit5testshouldbepackageprivate",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnitAssertionsShouldIncludeMessage (Java, Best Practices)",
"tags": "",
"keywords": "JUnitAssertionsShouldIncludeMessage",
"url": "pmd_rules_java_bestpractices.html#junitassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnitTestContainsTooManyAsserts (Java, Best Practices)",
"tags": "",
"keywords": "JUnitTestContainsTooManyAsserts",
"url": "pmd_rules_java_bestpractices.html#junittestcontainstoomanyasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnitTestsShouldIncludeAssert (Java, Best Practices)",
"tags": "",
"keywords": "JUnitTestsShouldIncludeAssert",
"url": "pmd_rules_java_bestpractices.html#junittestsshouldincludeassert",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "JUnitUseExpected (Java, Best Practices)",
"tags": "",
"keywords": "JUnitUseExpected",
"url": "pmd_rules_java_bestpractices.html#junituseexpected",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "LiteralsFirstInComparisons (Java, Best Practices)",
"tags": "",
"keywords": "LiteralsFirstInComparisons",
"url": "pmd_rules_java_bestpractices.html#literalsfirstincomparisons",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "LooseCoupling (Java, Best Practices)",
"tags": "",
"keywords": "LooseCoupling",
"url": "pmd_rules_java_bestpractices.html#loosecoupling",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "MethodReturnsInternalArray (Java, Best Practices)",
"tags": "",
"keywords": "MethodReturnsInternalArray",
"url": "pmd_rules_java_bestpractices.html#methodreturnsinternalarray",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "MissingOverride (Java, Best Practices)",
"tags": "",
"keywords": "MissingOverride",
"url": "pmd_rules_java_bestpractices.html#missingoverride",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "OneDeclarationPerLine (Java, Best Practices)",
"tags": "",
"keywords": "OneDeclarationPerLine",
"url": "pmd_rules_java_bestpractices.html#onedeclarationperline",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "PositionLiteralsFirstInCaseInsensitiveComparisons (Java, Best Practices)",
"tags": "",
"keywords": "PositionLiteralsFirstInCaseInsensitiveComparisons",
"url": "pmd_rules_java_bestpractices.html#positionliteralsfirstincaseinsensitivecomparisons",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "PositionLiteralsFirstInComparisons (Java, Best Practices)",
"tags": "",
"keywords": "PositionLiteralsFirstInComparisons",
"url": "pmd_rules_java_bestpractices.html#positionliteralsfirstincomparisons",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "PreserveStackTrace (Java, Best Practices)",
"tags": "",
"keywords": "PreserveStackTrace",
"url": "pmd_rules_java_bestpractices.html#preservestacktrace",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "PrimitiveWrapperInstantiation (Java, Best Practices)",
"tags": "",
"keywords": "PrimitiveWrapperInstantiation",
"url": "pmd_rules_java_bestpractices.html#primitivewrapperinstantiation",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ReplaceEnumerationWithIterator (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceEnumerationWithIterator",
"url": "pmd_rules_java_bestpractices.html#replaceenumerationwithiterator",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ReplaceHashtableWithMap (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceHashtableWithMap",
"url": "pmd_rules_java_bestpractices.html#replacehashtablewithmap",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "ReplaceVectorWithList (Java, Best Practices)",
"tags": "",
"keywords": "ReplaceVectorWithList",
"url": "pmd_rules_java_bestpractices.html#replacevectorwithlist",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "SimplifiableTestAssertion (Java, Best Practices)",
"tags": "",
"keywords": "SimplifiableTestAssertion",
"url": "pmd_rules_java_bestpractices.html#simplifiabletestassertion",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "SwitchStmtsShouldHaveDefault (Java, Best Practices)",
"tags": "",
"keywords": "SwitchStmtsShouldHaveDefault",
"url": "pmd_rules_java_bestpractices.html#switchstmtsshouldhavedefault",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "SystemPrintln (Java, Best Practices)",
"tags": "",
"keywords": "SystemPrintln",
"url": "pmd_rules_java_bestpractices.html#systemprintln",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedAssignment (Java, Best Practices)",
"tags": "",
"keywords": "UnusedAssignment",
"url": "pmd_rules_java_bestpractices.html#unusedassignment",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedFormalParameter (Java, Best Practices)",
"tags": "",
"keywords": "UnusedFormalParameter",
"url": "pmd_rules_java_bestpractices.html#unusedformalparameter",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedImports (Java, Best Practices)",
"tags": "",
"keywords": "UnusedImports",
"url": "pmd_rules_java_bestpractices.html#unusedimports",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedLocalVariable (Java, Best Practices)",
"tags": "",
"keywords": "UnusedLocalVariable",
"url": "pmd_rules_java_bestpractices.html#unusedlocalvariable",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedPrivateField (Java, Best Practices)",
"tags": "",
"keywords": "UnusedPrivateField",
"url": "pmd_rules_java_bestpractices.html#unusedprivatefield",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UnusedPrivateMethod (Java, Best Practices)",
"tags": "",
"keywords": "UnusedPrivateMethod",
"url": "pmd_rules_java_bestpractices.html#unusedprivatemethod",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseAssertEqualsInsteadOfAssertTrue (Java, Best Practices)",
"tags": "",
"keywords": "UseAssertEqualsInsteadOfAssertTrue",
"url": "pmd_rules_java_bestpractices.html#useassertequalsinsteadofasserttrue",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseAssertNullInsteadOfAssertTrue (Java, Best Practices)",
"tags": "",
"keywords": "UseAssertNullInsteadOfAssertTrue",
"url": "pmd_rules_java_bestpractices.html#useassertnullinsteadofasserttrue",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseAssertSameInsteadOfAssertTrue (Java, Best Practices)",
"tags": "",
"keywords": "UseAssertSameInsteadOfAssertTrue",
"url": "pmd_rules_java_bestpractices.html#useassertsameinsteadofasserttrue",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseAssertTrueInsteadOfAssertEquals (Java, Best Practices)",
"tags": "",
"keywords": "UseAssertTrueInsteadOfAssertEquals",
"url": "pmd_rules_java_bestpractices.html#useasserttrueinsteadofassertequals",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseCollectionIsEmpty (Java, Best Practices)",
"tags": "",
"keywords": "UseCollectionIsEmpty",
"url": "pmd_rules_java_bestpractices.html#usecollectionisempty",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseStandardCharsets (Java, Best Practices)",
"tags": "",
"keywords": "UseStandardCharsets",
"url": "pmd_rules_java_bestpractices.html#usestandardcharsets",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseTryWithResources (Java, Best Practices)",
"tags": "",
"keywords": "UseTryWithResources",
"url": "pmd_rules_java_bestpractices.html#usetrywithresources",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "UseVarargs (Java, Best Practices)",
"tags": "",
"keywords": "UseVarargs",
"url": "pmd_rules_java_bestpractices.html#usevarargs",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "WhileLoopWithLiteralBoolean (Java, Best Practices)",
"tags": "",
"keywords": "WhileLoopWithLiteralBoolean",
"url": "pmd_rules_java_bestpractices.html#whileloopwithliteralboolean",
"summary": "Rules which enforce generally accepted best practices."
}





,







{
"title": "Best Practices (PLSQL, Best Practices)",
"tags": "",
"keywords": "Best Practices",
"url": "pmd_rules_plsql_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,

{
"title": "TomKytesDespair (PLSQL, Best Practices)",
"tags": "",
"keywords": "TomKytesDespair",
"url": "pmd_rules_plsql_bestpractices.html#tomkytesdespair",
"summary": "Rules which enforce generally accepted best practices."
}





,





{
"title": "Building PMD from source",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_building.html",
"summary": ""
}



,





{
"title": "Continuous Integrations plugins",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_ci.html",
"summary": ""
}



,





{
"title": "PMD CLI reference",
"tags": "userdocs",
"keywords": "commandlineoptionshelpformatsrenderers",
"url": "pmd_userdocs_cli_reference.html",
"summary": "Full reference for PMD's command-line interface, including options, output formats and supported languages"
}



,







{
"title": "Code Style (Ecmascript, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_ecmascript_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AssignmentInOperand (Ecmascript, Code Style)",
"tags": "",
"keywords": "AssignmentInOperand",
"url": "pmd_rules_ecmascript_codestyle.html#assignmentinoperand",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ForLoopsMustUseBraces (Ecmascript, Code Style)",
"tags": "",
"keywords": "ForLoopsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#forloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfElseStmtsMustUseBraces (Ecmascript, Code Style)",
"tags": "",
"keywords": "IfElseStmtsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#ifelsestmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfStmtsMustUseBraces (Ecmascript, Code Style)",
"tags": "",
"keywords": "IfStmtsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#ifstmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "NoElseReturn (Ecmascript, Code Style)",
"tags": "",
"keywords": "NoElseReturn",
"url": "pmd_rules_ecmascript_codestyle.html#noelsereturn",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryBlock (Ecmascript, Code Style)",
"tags": "",
"keywords": "UnnecessaryBlock",
"url": "pmd_rules_ecmascript_codestyle.html#unnecessaryblock",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryParentheses (Ecmascript, Code Style)",
"tags": "",
"keywords": "UnnecessaryParentheses",
"url": "pmd_rules_ecmascript_codestyle.html#unnecessaryparentheses",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnreachableCode (Ecmascript, Code Style)",
"tags": "",
"keywords": "UnreachableCode",
"url": "pmd_rules_ecmascript_codestyle.html#unreachablecode",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "WhileLoopsMustUseBraces (Ecmascript, Code Style)",
"tags": "",
"keywords": "WhileLoopsMustUseBraces",
"url": "pmd_rules_ecmascript_codestyle.html#whileloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}





,







{
"title": "Code Style (Apex, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_apex_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ClassNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "ClassNamingConventions",
"url": "pmd_rules_apex_codestyle.html#classnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfElseStmtsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "IfElseStmtsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#ifelsestmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfStmtsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "IfStmtsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#ifstmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FieldDeclarationsShouldBeAtStart (Apex, Code Style)",
"tags": "",
"keywords": "FieldDeclarationsShouldBeAtStart",
"url": "pmd_rules_apex_codestyle.html#fielddeclarationsshouldbeatstart",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FieldNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "FieldNamingConventions",
"url": "pmd_rules_apex_codestyle.html#fieldnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ForLoopsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "ForLoopsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#forloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FormalParameterNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "FormalParameterNamingConventions",
"url": "pmd_rules_apex_codestyle.html#formalparameternamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LocalVariableNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "LocalVariableNamingConventions",
"url": "pmd_rules_apex_codestyle.html#localvariablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MethodNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "MethodNamingConventions",
"url": "pmd_rules_apex_codestyle.html#methodnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "OneDeclarationPerLine (Apex, Code Style)",
"tags": "",
"keywords": "OneDeclarationPerLine",
"url": "pmd_rules_apex_codestyle.html#onedeclarationperline",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "PropertyNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "PropertyNamingConventions",
"url": "pmd_rules_apex_codestyle.html#propertynamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "VariableNamingConventions (Apex, Code Style)",
"tags": "",
"keywords": "VariableNamingConventions",
"url": "pmd_rules_apex_codestyle.html#variablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "WhileLoopsMustUseBraces (Apex, Code Style)",
"tags": "",
"keywords": "WhileLoopsMustUseBraces",
"url": "pmd_rules_apex_codestyle.html#whileloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}





,







{
"title": "Code Style (Java Server Pages, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_jsp_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "DuplicateJspImports (Java Server Pages, Code Style)",
"tags": "",
"keywords": "DuplicateJspImports",
"url": "pmd_rules_jsp_codestyle.html#duplicatejspimports",
"summary": "Rules which enforce a specific coding style."
}





,







{
"title": "Code Style (XSL, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_xsl_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UseConcatOnce (XSL, Code Style)",
"tags": "",
"keywords": "UseConcatOnce",
"url": "pmd_rules_xsl_codestyle.html#useconcatonce",
"summary": "Rules which enforce a specific coding style."
}





,







{
"title": "Code Style (Java, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_java_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AbstractNaming (Java, Code Style)",
"tags": "",
"keywords": "AbstractNaming",
"url": "pmd_rules_java_codestyle.html#abstractnaming",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AtLeastOneConstructor (Java, Code Style)",
"tags": "",
"keywords": "AtLeastOneConstructor",
"url": "pmd_rules_java_codestyle.html#atleastoneconstructor",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidDollarSigns (Java, Code Style)",
"tags": "",
"keywords": "AvoidDollarSigns",
"url": "pmd_rules_java_codestyle.html#avoiddollarsigns",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidFinalLocalVariable (Java, Code Style)",
"tags": "",
"keywords": "AvoidFinalLocalVariable",
"url": "pmd_rules_java_codestyle.html#avoidfinallocalvariable",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidPrefixingMethodParameters (Java, Code Style)",
"tags": "",
"keywords": "AvoidPrefixingMethodParameters",
"url": "pmd_rules_java_codestyle.html#avoidprefixingmethodparameters",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidProtectedFieldInFinalClass (Java, Code Style)",
"tags": "",
"keywords": "AvoidProtectedFieldInFinalClass",
"url": "pmd_rules_java_codestyle.html#avoidprotectedfieldinfinalclass",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidProtectedMethodInFinalClassNotExtending (Java, Code Style)",
"tags": "",
"keywords": "AvoidProtectedMethodInFinalClassNotExtending",
"url": "pmd_rules_java_codestyle.html#avoidprotectedmethodinfinalclassnotextending",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidUsingNativeCode (Java, Code Style)",
"tags": "",
"keywords": "AvoidUsingNativeCode",
"url": "pmd_rules_java_codestyle.html#avoidusingnativecode",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "BooleanGetMethodName (Java, Code Style)",
"tags": "",
"keywords": "BooleanGetMethodName",
"url": "pmd_rules_java_codestyle.html#booleangetmethodname",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "CallSuperInConstructor (Java, Code Style)",
"tags": "",
"keywords": "CallSuperInConstructor",
"url": "pmd_rules_java_codestyle.html#callsuperinconstructor",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ClassNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "ClassNamingConventions",
"url": "pmd_rules_java_codestyle.html#classnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "CommentDefaultAccessModifier (Java, Code Style)",
"tags": "",
"keywords": "CommentDefaultAccessModifier",
"url": "pmd_rules_java_codestyle.html#commentdefaultaccessmodifier",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ConfusingTernary (Java, Code Style)",
"tags": "",
"keywords": "ConfusingTernary",
"url": "pmd_rules_java_codestyle.html#confusingternary",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ControlStatementBraces (Java, Code Style)",
"tags": "",
"keywords": "ControlStatementBraces",
"url": "pmd_rules_java_codestyle.html#controlstatementbraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "DefaultPackage (Java, Code Style)",
"tags": "",
"keywords": "DefaultPackage",
"url": "pmd_rules_java_codestyle.html#defaultpackage",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "DontImportJavaLang (Java, Code Style)",
"tags": "",
"keywords": "DontImportJavaLang",
"url": "pmd_rules_java_codestyle.html#dontimportjavalang",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "DuplicateImports (Java, Code Style)",
"tags": "",
"keywords": "DuplicateImports",
"url": "pmd_rules_java_codestyle.html#duplicateimports",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "EmptyMethodInAbstractClassShouldBeAbstract (Java, Code Style)",
"tags": "",
"keywords": "EmptyMethodInAbstractClassShouldBeAbstract",
"url": "pmd_rules_java_codestyle.html#emptymethodinabstractclassshouldbeabstract",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "EmptyControlStatement (Java, Code Style)",
"tags": "",
"keywords": "EmptyControlStatement",
"url": "pmd_rules_java_codestyle.html#emptycontrolstatement",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ExtendsObject (Java, Code Style)",
"tags": "",
"keywords": "ExtendsObject",
"url": "pmd_rules_java_codestyle.html#extendsobject",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FieldDeclarationsShouldBeAtStartOfClass (Java, Code Style)",
"tags": "",
"keywords": "FieldDeclarationsShouldBeAtStartOfClass",
"url": "pmd_rules_java_codestyle.html#fielddeclarationsshouldbeatstartofclass",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FieldNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "FieldNamingConventions",
"url": "pmd_rules_java_codestyle.html#fieldnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FinalParameterInAbstractMethod (Java, Code Style)",
"tags": "",
"keywords": "FinalParameterInAbstractMethod",
"url": "pmd_rules_java_codestyle.html#finalparameterinabstractmethod",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ForLoopShouldBeWhileLoop (Java, Code Style)",
"tags": "",
"keywords": "ForLoopShouldBeWhileLoop",
"url": "pmd_rules_java_codestyle.html#forloopshouldbewhileloop",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ForLoopsMustUseBraces (Java, Code Style)",
"tags": "",
"keywords": "ForLoopsMustUseBraces",
"url": "pmd_rules_java_codestyle.html#forloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "FormalParameterNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "FormalParameterNamingConventions",
"url": "pmd_rules_java_codestyle.html#formalparameternamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "GenericsNaming (Java, Code Style)",
"tags": "",
"keywords": "GenericsNaming",
"url": "pmd_rules_java_codestyle.html#genericsnaming",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IdenticalCatchBranches (Java, Code Style)",
"tags": "",
"keywords": "IdenticalCatchBranches",
"url": "pmd_rules_java_codestyle.html#identicalcatchbranches",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfElseStmtsMustUseBraces (Java, Code Style)",
"tags": "",
"keywords": "IfElseStmtsMustUseBraces",
"url": "pmd_rules_java_codestyle.html#ifelsestmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "IfStmtsMustUseBraces (Java, Code Style)",
"tags": "",
"keywords": "IfStmtsMustUseBraces",
"url": "pmd_rules_java_codestyle.html#ifstmtsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LinguisticNaming (Java, Code Style)",
"tags": "",
"keywords": "LinguisticNaming",
"url": "pmd_rules_java_codestyle.html#linguisticnaming",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LocalHomeNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "LocalHomeNamingConvention",
"url": "pmd_rules_java_codestyle.html#localhomenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LocalInterfaceSessionNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "LocalInterfaceSessionNamingConvention",
"url": "pmd_rules_java_codestyle.html#localinterfacesessionnamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LocalVariableCouldBeFinal (Java, Code Style)",
"tags": "",
"keywords": "LocalVariableCouldBeFinal",
"url": "pmd_rules_java_codestyle.html#localvariablecouldbefinal",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LocalVariableNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "LocalVariableNamingConventions",
"url": "pmd_rules_java_codestyle.html#localvariablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LongVariable (Java, Code Style)",
"tags": "",
"keywords": "LongVariable",
"url": "pmd_rules_java_codestyle.html#longvariable",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MDBAndSessionBeanNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "MDBAndSessionBeanNamingConvention",
"url": "pmd_rules_java_codestyle.html#mdbandsessionbeannamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MethodArgumentCouldBeFinal (Java, Code Style)",
"tags": "",
"keywords": "MethodArgumentCouldBeFinal",
"url": "pmd_rules_java_codestyle.html#methodargumentcouldbefinal",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MethodNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "MethodNamingConventions",
"url": "pmd_rules_java_codestyle.html#methodnamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MIsLeadingVariableName (Java, Code Style)",
"tags": "",
"keywords": "MIsLeadingVariableName",
"url": "pmd_rules_java_codestyle.html#misleadingvariablename",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "NoPackage (Java, Code Style)",
"tags": "",
"keywords": "NoPackage",
"url": "pmd_rules_java_codestyle.html#nopackage",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UseUnderscoresInNumericLiterals (Java, Code Style)",
"tags": "",
"keywords": "UseUnderscoresInNumericLiterals",
"url": "pmd_rules_java_codestyle.html#useunderscoresinnumericliterals",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "OnlyOneReturn (Java, Code Style)",
"tags": "",
"keywords": "OnlyOneReturn",
"url": "pmd_rules_java_codestyle.html#onlyonereturn",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "PackageCase (Java, Code Style)",
"tags": "",
"keywords": "PackageCase",
"url": "pmd_rules_java_codestyle.html#packagecase",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "PrematureDeclaration (Java, Code Style)",
"tags": "",
"keywords": "PrematureDeclaration",
"url": "pmd_rules_java_codestyle.html#prematuredeclaration",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "RemoteInterfaceNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "RemoteInterfaceNamingConvention",
"url": "pmd_rules_java_codestyle.html#remoteinterfacenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "RemoteSessionInterfaceNamingConvention (Java, Code Style)",
"tags": "",
"keywords": "RemoteSessionInterfaceNamingConvention",
"url": "pmd_rules_java_codestyle.html#remotesessioninterfacenamingconvention",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ShortClassName (Java, Code Style)",
"tags": "",
"keywords": "ShortClassName",
"url": "pmd_rules_java_codestyle.html#shortclassname",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ShortMethodName (Java, Code Style)",
"tags": "",
"keywords": "ShortMethodName",
"url": "pmd_rules_java_codestyle.html#shortmethodname",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ShortVariable (Java, Code Style)",
"tags": "",
"keywords": "ShortVariable",
"url": "pmd_rules_java_codestyle.html#shortvariable",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "SuspiciousConstantFieldName (Java, Code Style)",
"tags": "",
"keywords": "SuspiciousConstantFieldName",
"url": "pmd_rules_java_codestyle.html#suspiciousconstantfieldname",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "TooManyStaticImports (Java, Code Style)",
"tags": "",
"keywords": "TooManyStaticImports",
"url": "pmd_rules_java_codestyle.html#toomanystaticimports",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryAnnotationValueElement (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryAnnotationValueElement",
"url": "pmd_rules_java_codestyle.html#unnecessaryannotationvalueelement",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryCast (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryCast",
"url": "pmd_rules_java_codestyle.html#unnecessarycast",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryConstructor (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryConstructor",
"url": "pmd_rules_java_codestyle.html#unnecessaryconstructor",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryFullyQualifiedName (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryFullyQualifiedName",
"url": "pmd_rules_java_codestyle.html#unnecessaryfullyqualifiedname",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryImport (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryImport",
"url": "pmd_rules_java_codestyle.html#unnecessaryimport",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryLocalBeforeReturn (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryLocalBeforeReturn",
"url": "pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryModifier (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryModifier",
"url": "pmd_rules_java_codestyle.html#unnecessarymodifier",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessaryReturn (Java, Code Style)",
"tags": "",
"keywords": "UnnecessaryReturn",
"url": "pmd_rules_java_codestyle.html#unnecessaryreturn",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UnnecessarySemicolon (Java, Code Style)",
"tags": "",
"keywords": "UnnecessarySemicolon",
"url": "pmd_rules_java_codestyle.html#unnecessarysemicolon",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UseDiamondOperator (Java, Code Style)",
"tags": "",
"keywords": "UseDiamondOperator",
"url": "pmd_rules_java_codestyle.html#usediamondoperator",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UselessParentheses (Java, Code Style)",
"tags": "",
"keywords": "UselessParentheses",
"url": "pmd_rules_java_codestyle.html#uselessparentheses",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UselessQualifiedThis (Java, Code Style)",
"tags": "",
"keywords": "UselessQualifiedThis",
"url": "pmd_rules_java_codestyle.html#uselessqualifiedthis",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "UseShortArrayInitializer (Java, Code Style)",
"tags": "",
"keywords": "UseShortArrayInitializer",
"url": "pmd_rules_java_codestyle.html#useshortarrayinitializer",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "VariableNamingConventions (Java, Code Style)",
"tags": "",
"keywords": "VariableNamingConventions",
"url": "pmd_rules_java_codestyle.html#variablenamingconventions",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "WhileLoopsMustUseBraces (Java, Code Style)",
"tags": "",
"keywords": "WhileLoopsMustUseBraces",
"url": "pmd_rules_java_codestyle.html#whileloopsmustusebraces",
"summary": "Rules which enforce a specific coding style."
}





,







{
"title": "Code Style (PLSQL, Code Style)",
"tags": "",
"keywords": "Code Style",
"url": "pmd_rules_plsql_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "AvoidTabCharacter (PLSQL, Code Style)",
"tags": "",
"keywords": "AvoidTabCharacter",
"url": "pmd_rules_plsql_codestyle.html#avoidtabcharacter",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "CodeFormat (PLSQL, Code Style)",
"tags": "",
"keywords": "CodeFormat",
"url": "pmd_rules_plsql_codestyle.html#codeformat",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "MisplacedPragma (PLSQL, Code Style)",
"tags": "",
"keywords": "MisplacedPragma",
"url": "pmd_rules_plsql_codestyle.html#misplacedpragma",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "ForLoopNaming (PLSQL, Code Style)",
"tags": "",
"keywords": "ForLoopNaming",
"url": "pmd_rules_plsql_codestyle.html#forloopnaming",
"summary": "Rules which enforce a specific coding style."
}
,

{
"title": "LineLength (PLSQL, Code Style)",
"tags": "",
"keywords": "LineLength",
"url": "pmd_rules_plsql_codestyle.html#linelength",
"summary": "Rules which enforce a specific coding style."
}





,





{
"title": "Configuring rules",
"tags": "userdocsgetting_started",
"keywords": "propertypropertiesmessagepriority",
"url": "pmd_userdocs_configuring_rules.html",
"summary": "Learn how to configure your rules directly from the ruleset XML."
}



,





{
"title": "Finding duplicated code with CPD",
"tags": "cpduserdocs",
"keywords": "",
"url": "pmd_userdocs_cpd.html",
"summary": "Learn how to use CPD, the copy-paste detector shipped with PMD."
}



,





{
"title": "Report formats for CPD",
"tags": "cpduserdocs",
"keywords": "formatsrenderers",
"url": "pmd_userdocs_cpd_report_formats.html",
"summary": "Overview of the built-in report formats for CPD"
}



,





{
"title": "Credits",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_credits.html",
"summary": ""
}



,





{
"title": "Architecture Decisions",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_decisions.html",
"summary": ""
}



,





{
"title": "Defining rule properties",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_defining_properties.html",
"summary": "Learn how to define your own properties both for Java and XPath rules."
}



,







{
"title": "Design (Apex, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_apex_design.html#design",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidDeeplyNestedIfStmts (Apex, Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_apex_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CyclomaticComplexity (Apex, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_apex_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CognitiveComplexity (Apex, Design)",
"tags": "",
"keywords": "CognitiveComplexity",
"url": "pmd_rules_apex_design.html#cognitivecomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveClassLength (Apex, Design)",
"tags": "",
"keywords": "ExcessiveClassLength",
"url": "pmd_rules_apex_design.html#excessiveclasslength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveParameterList (Apex, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_apex_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessivePublicCount (Apex, Design)",
"tags": "",
"keywords": "ExcessivePublicCount",
"url": "pmd_rules_apex_design.html#excessivepubliccount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssConstructorCount (Apex, Design)",
"tags": "",
"keywords": "NcssConstructorCount",
"url": "pmd_rules_apex_design.html#ncssconstructorcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssMethodCount (Apex, Design)",
"tags": "",
"keywords": "NcssMethodCount",
"url": "pmd_rules_apex_design.html#ncssmethodcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssTypeCount (Apex, Design)",
"tags": "",
"keywords": "NcssTypeCount",
"url": "pmd_rules_apex_design.html#ncsstypecount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "StdCyclomaticComplexity (Apex, Design)",
"tags": "",
"keywords": "StdCyclomaticComplexity",
"url": "pmd_rules_apex_design.html#stdcyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "TooManyFields (Apex, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_apex_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}





,







{
"title": "Design (Java Server Pages, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_jsp_design.html#design",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoInlineScript (Java Server Pages, Design)",
"tags": "",
"keywords": "NoInlineScript",
"url": "pmd_rules_jsp_design.html#noinlinescript",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoInlineStyleInformation (Java Server Pages, Design)",
"tags": "",
"keywords": "NoInlineStyleInformation",
"url": "pmd_rules_jsp_design.html#noinlinestyleinformation",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoLongScripts (Java Server Pages, Design)",
"tags": "",
"keywords": "NoLongScripts",
"url": "pmd_rules_jsp_design.html#nolongscripts",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoScriptlets (Java Server Pages, Design)",
"tags": "",
"keywords": "NoScriptlets",
"url": "pmd_rules_jsp_design.html#noscriptlets",
"summary": "Rules that help you discover design issues."
}





,







{
"title": "Design (VM, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_vm_design.html#design",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidDeeplyNestedIfStmts (VM, Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_vm_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CollapsibleIfStatements (VM, Design)",
"tags": "",
"keywords": "CollapsibleIfStatements",
"url": "pmd_rules_vm_design.html#collapsibleifstatements",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveTemplateLength (VM, Design)",
"tags": "",
"keywords": "ExcessiveTemplateLength",
"url": "pmd_rules_vm_design.html#excessivetemplatelength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoInlineJavaScript (VM, Design)",
"tags": "",
"keywords": "NoInlineJavaScript",
"url": "pmd_rules_vm_design.html#noinlinejavascript",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NoInlineStyles (VM, Design)",
"tags": "",
"keywords": "NoInlineStyles",
"url": "pmd_rules_vm_design.html#noinlinestyles",
"summary": "Rules that help you discover design issues."
}





,







{
"title": "Design (Java, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_java_design.html#design",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AbstractClassWithoutAnyMethod (Java, Design)",
"tags": "",
"keywords": "AbstractClassWithoutAnyMethod",
"url": "pmd_rules_java_design.html#abstractclasswithoutanymethod",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidCatchingGenericException (Java, Design)",
"tags": "",
"keywords": "AvoidCatchingGenericException",
"url": "pmd_rules_java_design.html#avoidcatchinggenericexception",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidDeeplyNestedIfStmts (Java, Design)",
"tags": "",
"keywords": "AvoidDeeplyNestedIfStmts",
"url": "pmd_rules_java_design.html#avoiddeeplynestedifstmts",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidRethrowingException (Java, Design)",
"tags": "",
"keywords": "AvoidRethrowingException",
"url": "pmd_rules_java_design.html#avoidrethrowingexception",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidThrowingNewInstanceOfSameException (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingNewInstanceOfSameException",
"url": "pmd_rules_java_design.html#avoidthrowingnewinstanceofsameexception",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidThrowingNullPointerException (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingNullPointerException",
"url": "pmd_rules_java_design.html#avoidthrowingnullpointerexception",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidThrowingRawExceptionTypes (Java, Design)",
"tags": "",
"keywords": "AvoidThrowingRawExceptionTypes",
"url": "pmd_rules_java_design.html#avoidthrowingrawexceptiontypes",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "AvoidUncheckedExceptionsInSignatures (Java, Design)",
"tags": "",
"keywords": "AvoidUncheckedExceptionsInSignatures",
"url": "pmd_rules_java_design.html#avoiduncheckedexceptionsinsignatures",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ClassWithOnlyPrivateConstructorsShouldBeFinal (Java, Design)",
"tags": "",
"keywords": "ClassWithOnlyPrivateConstructorsShouldBeFinal",
"url": "pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CollapsibleIfStatements (Java, Design)",
"tags": "",
"keywords": "CollapsibleIfStatements",
"url": "pmd_rules_java_design.html#collapsibleifstatements",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CouplingBetweenObjects (Java, Design)",
"tags": "",
"keywords": "CouplingBetweenObjects",
"url": "pmd_rules_java_design.html#couplingbetweenobjects",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CognitiveComplexity (Java, Design)",
"tags": "",
"keywords": "CognitiveComplexity",
"url": "pmd_rules_java_design.html#cognitivecomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CyclomaticComplexity (Java, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_java_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "DataClass (Java, Design)",
"tags": "",
"keywords": "DataClass",
"url": "pmd_rules_java_design.html#dataclass",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "DoNotExtendJavaLangError (Java, Design)",
"tags": "",
"keywords": "DoNotExtendJavaLangError",
"url": "pmd_rules_java_design.html#donotextendjavalangerror",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExceptionAsFlowControl (Java, Design)",
"tags": "",
"keywords": "ExceptionAsFlowControl",
"url": "pmd_rules_java_design.html#exceptionasflowcontrol",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveClassLength (Java, Design)",
"tags": "",
"keywords": "ExcessiveClassLength",
"url": "pmd_rules_java_design.html#excessiveclasslength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveImports (Java, Design)",
"tags": "",
"keywords": "ExcessiveImports",
"url": "pmd_rules_java_design.html#excessiveimports",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveMethodLength (Java, Design)",
"tags": "",
"keywords": "ExcessiveMethodLength",
"url": "pmd_rules_java_design.html#excessivemethodlength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveParameterList (Java, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_java_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessivePublicCount (Java, Design)",
"tags": "",
"keywords": "ExcessivePublicCount",
"url": "pmd_rules_java_design.html#excessivepubliccount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "FinalFieldCouldBeStatic (Java, Design)",
"tags": "",
"keywords": "FinalFieldCouldBeStatic",
"url": "pmd_rules_java_design.html#finalfieldcouldbestatic",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "GodClass (Java, Design)",
"tags": "",
"keywords": "GodClass",
"url": "pmd_rules_java_design.html#godclass",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ImmutableField (Java, Design)",
"tags": "",
"keywords": "ImmutableField",
"url": "pmd_rules_java_design.html#immutablefield",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "InvalidJavaBean (Java, Design)",
"tags": "",
"keywords": "InvalidJavaBean",
"url": "pmd_rules_java_design.html#invalidjavabean",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "LawOfDemeter (Java, Design)",
"tags": "",
"keywords": "LawOfDemeter",
"url": "pmd_rules_java_design.html#lawofdemeter",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "LogicInversion (Java, Design)",
"tags": "",
"keywords": "LogicInversion",
"url": "pmd_rules_java_design.html#logicinversion",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "LoosePackageCoupling (Java, Design)",
"tags": "",
"keywords": "LoosePackageCoupling",
"url": "pmd_rules_java_design.html#loosepackagecoupling",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ModifiedCyclomaticComplexity (Java, Design)",
"tags": "",
"keywords": "ModifiedCyclomaticComplexity",
"url": "pmd_rules_java_design.html#modifiedcyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssConstructorCount (Java, Design)",
"tags": "",
"keywords": "NcssConstructorCount",
"url": "pmd_rules_java_design.html#ncssconstructorcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssCount (Java, Design)",
"tags": "",
"keywords": "NcssCount",
"url": "pmd_rules_java_design.html#ncsscount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssMethodCount (Java, Design)",
"tags": "",
"keywords": "NcssMethodCount",
"url": "pmd_rules_java_design.html#ncssmethodcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssTypeCount (Java, Design)",
"tags": "",
"keywords": "NcssTypeCount",
"url": "pmd_rules_java_design.html#ncsstypecount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NPathComplexity (Java, Design)",
"tags": "",
"keywords": "NPathComplexity",
"url": "pmd_rules_java_design.html#npathcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SignatureDeclareThrowsException (Java, Design)",
"tags": "",
"keywords": "SignatureDeclareThrowsException",
"url": "pmd_rules_java_design.html#signaturedeclarethrowsexception",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SimplifiedTernary (Java, Design)",
"tags": "",
"keywords": "SimplifiedTernary",
"url": "pmd_rules_java_design.html#simplifiedternary",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SimplifyBooleanAssertion (Java, Design)",
"tags": "",
"keywords": "SimplifyBooleanAssertion",
"url": "pmd_rules_java_design.html#simplifybooleanassertion",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SimplifyBooleanExpressions (Java, Design)",
"tags": "",
"keywords": "SimplifyBooleanExpressions",
"url": "pmd_rules_java_design.html#simplifybooleanexpressions",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SimplifyBooleanReturns (Java, Design)",
"tags": "",
"keywords": "SimplifyBooleanReturns",
"url": "pmd_rules_java_design.html#simplifybooleanreturns",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SimplifyConditional (Java, Design)",
"tags": "",
"keywords": "SimplifyConditional",
"url": "pmd_rules_java_design.html#simplifyconditional",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SingularField (Java, Design)",
"tags": "",
"keywords": "SingularField",
"url": "pmd_rules_java_design.html#singularfield",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "StdCyclomaticComplexity (Java, Design)",
"tags": "",
"keywords": "StdCyclomaticComplexity",
"url": "pmd_rules_java_design.html#stdcyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "SwitchDensity (Java, Design)",
"tags": "",
"keywords": "SwitchDensity",
"url": "pmd_rules_java_design.html#switchdensity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "TooManyFields (Java, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_java_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "TooManyMethods (Java, Design)",
"tags": "",
"keywords": "TooManyMethods",
"url": "pmd_rules_java_design.html#toomanymethods",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "UselessOverridingMethod (Java, Design)",
"tags": "",
"keywords": "UselessOverridingMethod",
"url": "pmd_rules_java_design.html#uselessoverridingmethod",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "UseObjectForClearerAPI (Java, Design)",
"tags": "",
"keywords": "UseObjectForClearerAPI",
"url": "pmd_rules_java_design.html#useobjectforclearerapi",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "UseUtilityClass (Java, Design)",
"tags": "",
"keywords": "UseUtilityClass",
"url": "pmd_rules_java_design.html#useutilityclass",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "MutableStaticState (Java, Design)",
"tags": "",
"keywords": "MutableStaticState",
"url": "pmd_rules_java_design.html#mutablestaticstate",
"summary": "Rules that help you discover design issues."
}





,







{
"title": "Design (PLSQL, Design)",
"tags": "",
"keywords": "Design",
"url": "pmd_rules_plsql_design.html#design",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "CyclomaticComplexity (PLSQL, Design)",
"tags": "",
"keywords": "CyclomaticComplexity",
"url": "pmd_rules_plsql_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveMethodLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveMethodLength",
"url": "pmd_rules_plsql_design.html#excessivemethodlength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveObjectLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveObjectLength",
"url": "pmd_rules_plsql_design.html#excessiveobjectlength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessivePackageBodyLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessivePackageBodyLength",
"url": "pmd_rules_plsql_design.html#excessivepackagebodylength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessivePackageSpecificationLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessivePackageSpecificationLength",
"url": "pmd_rules_plsql_design.html#excessivepackagespecificationlength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveParameterList (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveParameterList",
"url": "pmd_rules_plsql_design.html#excessiveparameterlist",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "ExcessiveTypeLength (PLSQL, Design)",
"tags": "",
"keywords": "ExcessiveTypeLength",
"url": "pmd_rules_plsql_design.html#excessivetypelength",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssMethodCount (PLSQL, Design)",
"tags": "",
"keywords": "NcssMethodCount",
"url": "pmd_rules_plsql_design.html#ncssmethodcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NcssObjectCount (PLSQL, Design)",
"tags": "",
"keywords": "NcssObjectCount",
"url": "pmd_rules_plsql_design.html#ncssobjectcount",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "NPathComplexity (PLSQL, Design)",
"tags": "",
"keywords": "NPathComplexity",
"url": "pmd_rules_plsql_design.html#npathcomplexity",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "TooManyFields (PLSQL, Design)",
"tags": "",
"keywords": "TooManyFields",
"url": "pmd_rules_plsql_design.html#toomanyfields",
"summary": "Rules that help you discover design issues."
}
,

{
"title": "TooManyMethods (PLSQL, Design)",
"tags": "",
"keywords": "TooManyMethods",
"url": "pmd_rules_plsql_design.html#toomanymethods",
"summary": "Rules that help you discover design issues."
}





,





{
"title": "The rule designer",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_designer_reference.html",
"summary": "Learn about the usage and features of the rule designer."
}



,





{
"title": "Developer Resources",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_development.html",
"summary": ""
}



,







{
"title": "Documentation (Apex, Documentation)",
"tags": "",
"keywords": "Documentation",
"url": "pmd_rules_apex_documentation.html#documentation",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "ApexDoc (Apex, Documentation)",
"tags": "",
"keywords": "ApexDoc",
"url": "pmd_rules_apex_documentation.html#apexdoc",
"summary": "Rules that are related to code documentation."
}





,







{
"title": "Documentation (Java, Documentation)",
"tags": "",
"keywords": "Documentation",
"url": "pmd_rules_java_documentation.html#documentation",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "CommentContent (Java, Documentation)",
"tags": "",
"keywords": "CommentContent",
"url": "pmd_rules_java_documentation.html#commentcontent",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "CommentRequired (Java, Documentation)",
"tags": "",
"keywords": "CommentRequired",
"url": "pmd_rules_java_documentation.html#commentrequired",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "CommentSize (Java, Documentation)",
"tags": "",
"keywords": "CommentSize",
"url": "pmd_rules_java_documentation.html#commentsize",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "UncommentedEmptyConstructor (Java, Documentation)",
"tags": "",
"keywords": "UncommentedEmptyConstructor",
"url": "pmd_rules_java_documentation.html#uncommentedemptyconstructor",
"summary": "Rules that are related to code documentation."
}
,

{
"title": "UncommentedEmptyMethodBody (Java, Documentation)",
"tags": "",
"keywords": "UncommentedEmptyMethodBody",
"url": "pmd_rules_java_documentation.html#uncommentedemptymethodbody",
"summary": "Rules that are related to code documentation."
}





,





{
"title": "Ecmascript Rules",
"tags": "rule_referencesecmascript",
"keywords": "",
"url": "pmd_rules_ecmascript.html",
"summary": "Index of all built-in rules available for Ecmascript"
}



,







{
"title": "Error Prone (Maven POM, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_pom_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InvalidDependencyTypes (Maven POM, Error Prone)",
"tags": "",
"keywords": "InvalidDependencyTypes",
"url": "pmd_rules_pom_errorprone.html#invaliddependencytypes",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ProjectVersionAsDependencyVersion (Maven POM, Error Prone)",
"tags": "",
"keywords": "ProjectVersionAsDependencyVersion",
"url": "pmd_rules_pom_errorprone.html#projectversionasdependencyversion",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (Ecmascript, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_ecmascript_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidTrailingComma (Ecmascript, Error Prone)",
"tags": "",
"keywords": "AvoidTrailingComma",
"url": "pmd_rules_ecmascript_errorprone.html#avoidtrailingcomma",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EqualComparison (Ecmascript, Error Prone)",
"tags": "",
"keywords": "EqualComparison",
"url": "pmd_rules_ecmascript_errorprone.html#equalcomparison",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InnaccurateNumericLiteral (Ecmascript, Error Prone)",
"tags": "",
"keywords": "InnaccurateNumericLiteral",
"url": "pmd_rules_ecmascript_errorprone.html#innaccuratenumericliteral",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (Apex, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_apex_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ApexCSRF (Apex, Error Prone)",
"tags": "",
"keywords": "ApexCSRF",
"url": "pmd_rules_apex_errorprone.html#apexcsrf",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidDirectAccessTriggerMap (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidDirectAccessTriggerMap",
"url": "pmd_rules_apex_errorprone.html#avoiddirectaccesstriggermap",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidHardcodingId (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidHardcodingId",
"url": "pmd_rules_apex_errorprone.html#avoidhardcodingid",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidNonExistentAnnotations (Apex, Error Prone)",
"tags": "",
"keywords": "AvoidNonExistentAnnotations",
"url": "pmd_rules_apex_errorprone.html#avoidnonexistentannotations",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyCatchBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyCatchBlock",
"url": "pmd_rules_apex_errorprone.html#emptycatchblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyIfStmt (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyIfStmt",
"url": "pmd_rules_apex_errorprone.html#emptyifstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyStatementBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyStatementBlock",
"url": "pmd_rules_apex_errorprone.html#emptystatementblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyTryOrFinallyBlock (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyTryOrFinallyBlock",
"url": "pmd_rules_apex_errorprone.html#emptytryorfinallyblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyWhileStmt (Apex, Error Prone)",
"tags": "",
"keywords": "EmptyWhileStmt",
"url": "pmd_rules_apex_errorprone.html#emptywhilestmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InaccessibleAuraEnabledGetter (Apex, Error Prone)",
"tags": "",
"keywords": "InaccessibleAuraEnabledGetter",
"url": "pmd_rules_apex_errorprone.html#inaccessibleauraenabledgetter",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MethodWithSameNameAsEnclosingClass (Apex, Error Prone)",
"tags": "",
"keywords": "MethodWithSameNameAsEnclosingClass",
"url": "pmd_rules_apex_errorprone.html#methodwithsamenameasenclosingclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "OverrideBothEqualsAndHashcode (Apex, Error Prone)",
"tags": "",
"keywords": "OverrideBothEqualsAndHashcode",
"url": "pmd_rules_apex_errorprone.html#overridebothequalsandhashcode",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "TestMethodsMustBeInTestClasses (Apex, Error Prone)",
"tags": "",
"keywords": "TestMethodsMustBeInTestClasses",
"url": "pmd_rules_apex_errorprone.html#testmethodsmustbeintestclasses",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (XML, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_xml_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MistypedCDATASection (XML, Error Prone)",
"tags": "",
"keywords": "MistypedCDATASection",
"url": "pmd_rules_xml_errorprone.html#mistypedcdatasection",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (Java Server Pages, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_jsp_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "JspEncoding (Java Server Pages, Error Prone)",
"tags": "",
"keywords": "JspEncoding",
"url": "pmd_rules_jsp_errorprone.html#jspencoding",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (VM, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_vm_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyForeachStmt (VM, Error Prone)",
"tags": "",
"keywords": "EmptyForeachStmt",
"url": "pmd_rules_vm_errorprone.html#emptyforeachstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyIfStmt (VM, Error Prone)",
"tags": "",
"keywords": "EmptyIfStmt",
"url": "pmd_rules_vm_errorprone.html#emptyifstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (Java, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_java_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AssignmentInOperand (Java, Error Prone)",
"tags": "",
"keywords": "AssignmentInOperand",
"url": "pmd_rules_java_errorprone.html#assignmentinoperand",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AssignmentToNonFinalStatic (Java, Error Prone)",
"tags": "",
"keywords": "AssignmentToNonFinalStatic",
"url": "pmd_rules_java_errorprone.html#assignmenttononfinalstatic",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidAccessibilityAlteration (Java, Error Prone)",
"tags": "",
"keywords": "AvoidAccessibilityAlteration",
"url": "pmd_rules_java_errorprone.html#avoidaccessibilityalteration",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidAssertAsIdentifier (Java, Error Prone)",
"tags": "",
"keywords": "AvoidAssertAsIdentifier",
"url": "pmd_rules_java_errorprone.html#avoidassertasidentifier",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidBranchingStatementAsLastInLoop (Java, Error Prone)",
"tags": "",
"keywords": "AvoidBranchingStatementAsLastInLoop",
"url": "pmd_rules_java_errorprone.html#avoidbranchingstatementaslastinloop",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidCallingFinalize (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCallingFinalize",
"url": "pmd_rules_java_errorprone.html#avoidcallingfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidCatchingNPE (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCatchingNPE",
"url": "pmd_rules_java_errorprone.html#avoidcatchingnpe",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidCatchingThrowable (Java, Error Prone)",
"tags": "",
"keywords": "AvoidCatchingThrowable",
"url": "pmd_rules_java_errorprone.html#avoidcatchingthrowable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidDecimalLiteralsInBigDecimalConstructor (Java, Error Prone)",
"tags": "",
"keywords": "AvoidDecimalLiteralsInBigDecimalConstructor",
"url": "pmd_rules_java_errorprone.html#avoiddecimalliteralsinbigdecimalconstructor",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidDuplicateLiterals (Java, Error Prone)",
"tags": "",
"keywords": "AvoidDuplicateLiterals",
"url": "pmd_rules_java_errorprone.html#avoidduplicateliterals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidEnumAsIdentifier (Java, Error Prone)",
"tags": "",
"keywords": "AvoidEnumAsIdentifier",
"url": "pmd_rules_java_errorprone.html#avoidenumasidentifier",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidFieldNameMatchingMethodName (Java, Error Prone)",
"tags": "",
"keywords": "AvoidFieldNameMatchingMethodName",
"url": "pmd_rules_java_errorprone.html#avoidfieldnamematchingmethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidFieldNameMatchingTypeName (Java, Error Prone)",
"tags": "",
"keywords": "AvoidFieldNameMatchingTypeName",
"url": "pmd_rules_java_errorprone.html#avoidfieldnamematchingtypename",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidInstanceofChecksInCatchClause (Java, Error Prone)",
"tags": "",
"keywords": "AvoidInstanceofChecksInCatchClause",
"url": "pmd_rules_java_errorprone.html#avoidinstanceofchecksincatchclause",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidLiteralsInIfCondition (Java, Error Prone)",
"tags": "",
"keywords": "AvoidLiteralsInIfCondition",
"url": "pmd_rules_java_errorprone.html#avoidliteralsinifcondition",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidLosingExceptionInformation (Java, Error Prone)",
"tags": "",
"keywords": "AvoidLosingExceptionInformation",
"url": "pmd_rules_java_errorprone.html#avoidlosingexceptioninformation",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidMultipleUnaryOperators (Java, Error Prone)",
"tags": "",
"keywords": "AvoidMultipleUnaryOperators",
"url": "pmd_rules_java_errorprone.html#avoidmultipleunaryoperators",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "AvoidUsingOctalValues (Java, Error Prone)",
"tags": "",
"keywords": "AvoidUsingOctalValues",
"url": "pmd_rules_java_errorprone.html#avoidusingoctalvalues",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "BadComparison (Java, Error Prone)",
"tags": "",
"keywords": "BadComparison",
"url": "pmd_rules_java_errorprone.html#badcomparison",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "BeanMembersShouldSerialize (Java, Error Prone)",
"tags": "",
"keywords": "BeanMembersShouldSerialize",
"url": "pmd_rules_java_errorprone.html#beanmembersshouldserialize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "BrokenNullCheck (Java, Error Prone)",
"tags": "",
"keywords": "BrokenNullCheck",
"url": "pmd_rules_java_errorprone.html#brokennullcheck",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CallSuperFirst (Java, Error Prone)",
"tags": "",
"keywords": "CallSuperFirst",
"url": "pmd_rules_java_errorprone.html#callsuperfirst",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CallSuperLast (Java, Error Prone)",
"tags": "",
"keywords": "CallSuperLast",
"url": "pmd_rules_java_errorprone.html#callsuperlast",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CheckSkipResult (Java, Error Prone)",
"tags": "",
"keywords": "CheckSkipResult",
"url": "pmd_rules_java_errorprone.html#checkskipresult",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ClassCastExceptionWithToArray (Java, Error Prone)",
"tags": "",
"keywords": "ClassCastExceptionWithToArray",
"url": "pmd_rules_java_errorprone.html#classcastexceptionwithtoarray",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CloneMethodMustBePublic (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodMustBePublic",
"url": "pmd_rules_java_errorprone.html#clonemethodmustbepublic",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CloneMethodMustImplementCloneable (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodMustImplementCloneable",
"url": "pmd_rules_java_errorprone.html#clonemethodmustimplementcloneable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CloneMethodReturnTypeMustMatchClassName (Java, Error Prone)",
"tags": "",
"keywords": "CloneMethodReturnTypeMustMatchClassName",
"url": "pmd_rules_java_errorprone.html#clonemethodreturntypemustmatchclassname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CloneThrowsCloneNotSupportedException (Java, Error Prone)",
"tags": "",
"keywords": "CloneThrowsCloneNotSupportedException",
"url": "pmd_rules_java_errorprone.html#clonethrowsclonenotsupportedexception",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CloseResource (Java, Error Prone)",
"tags": "",
"keywords": "CloseResource",
"url": "pmd_rules_java_errorprone.html#closeresource",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "CompareObjectsWithEquals (Java, Error Prone)",
"tags": "",
"keywords": "CompareObjectsWithEquals",
"url": "pmd_rules_java_errorprone.html#compareobjectswithequals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ComparisonWithNaN (Java, Error Prone)",
"tags": "",
"keywords": "ComparisonWithNaN",
"url": "pmd_rules_java_errorprone.html#comparisonwithnan",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ConstructorCallsOverridableMethod (Java, Error Prone)",
"tags": "",
"keywords": "ConstructorCallsOverridableMethod",
"url": "pmd_rules_java_errorprone.html#constructorcallsoverridablemethod",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DataflowAnomalyAnalysis (Java, Error Prone)",
"tags": "",
"keywords": "DataflowAnomalyAnalysis",
"url": "pmd_rules_java_errorprone.html#dataflowanomalyanalysis",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DetachedTestCase (Java, Error Prone)",
"tags": "",
"keywords": "DetachedTestCase",
"url": "pmd_rules_java_errorprone.html#detachedtestcase",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotCallGarbageCollectionExplicitly (Java, Error Prone)",
"tags": "",
"keywords": "DoNotCallGarbageCollectionExplicitly",
"url": "pmd_rules_java_errorprone.html#donotcallgarbagecollectionexplicitly",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotCallSystemExit (Java, Error Prone)",
"tags": "",
"keywords": "DoNotCallSystemExit",
"url": "pmd_rules_java_errorprone.html#donotcallsystemexit",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotExtendJavaLangThrowable (Java, Error Prone)",
"tags": "",
"keywords": "DoNotExtendJavaLangThrowable",
"url": "pmd_rules_java_errorprone.html#donotextendjavalangthrowable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotHardCodeSDCard (Java, Error Prone)",
"tags": "",
"keywords": "DoNotHardCodeSDCard",
"url": "pmd_rules_java_errorprone.html#donothardcodesdcard",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotTerminateVM (Java, Error Prone)",
"tags": "",
"keywords": "DoNotTerminateVM",
"url": "pmd_rules_java_errorprone.html#donotterminatevm",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DoNotThrowExceptionInFinally (Java, Error Prone)",
"tags": "",
"keywords": "DoNotThrowExceptionInFinally",
"url": "pmd_rules_java_errorprone.html#donotthrowexceptioninfinally",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DontImportSun (Java, Error Prone)",
"tags": "",
"keywords": "DontImportSun",
"url": "pmd_rules_java_errorprone.html#dontimportsun",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "DontUseFloatTypeForLoopIndices (Java, Error Prone)",
"tags": "",
"keywords": "DontUseFloatTypeForLoopIndices",
"url": "pmd_rules_java_errorprone.html#dontusefloattypeforloopindices",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyCatchBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptyCatchBlock",
"url": "pmd_rules_java_errorprone.html#emptycatchblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyFinalizer (Java, Error Prone)",
"tags": "",
"keywords": "EmptyFinalizer",
"url": "pmd_rules_java_errorprone.html#emptyfinalizer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyFinallyBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptyFinallyBlock",
"url": "pmd_rules_java_errorprone.html#emptyfinallyblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyIfStmt (Java, Error Prone)",
"tags": "",
"keywords": "EmptyIfStmt",
"url": "pmd_rules_java_errorprone.html#emptyifstmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyInitializer (Java, Error Prone)",
"tags": "",
"keywords": "EmptyInitializer",
"url": "pmd_rules_java_errorprone.html#emptyinitializer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyStatementBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptyStatementBlock",
"url": "pmd_rules_java_errorprone.html#emptystatementblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyStatementNotInLoop (Java, Error Prone)",
"tags": "",
"keywords": "EmptyStatementNotInLoop",
"url": "pmd_rules_java_errorprone.html#emptystatementnotinloop",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptySwitchStatements (Java, Error Prone)",
"tags": "",
"keywords": "EmptySwitchStatements",
"url": "pmd_rules_java_errorprone.html#emptyswitchstatements",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptySynchronizedBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptySynchronizedBlock",
"url": "pmd_rules_java_errorprone.html#emptysynchronizedblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyTryBlock (Java, Error Prone)",
"tags": "",
"keywords": "EmptyTryBlock",
"url": "pmd_rules_java_errorprone.html#emptytryblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EmptyWhileStmt (Java, Error Prone)",
"tags": "",
"keywords": "EmptyWhileStmt",
"url": "pmd_rules_java_errorprone.html#emptywhilestmt",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "EqualsNull (Java, Error Prone)",
"tags": "",
"keywords": "EqualsNull",
"url": "pmd_rules_java_errorprone.html#equalsnull",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "FinalizeDoesNotCallSuperFinalize (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeDoesNotCallSuperFinalize",
"url": "pmd_rules_java_errorprone.html#finalizedoesnotcallsuperfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "FinalizeOnlyCallsSuperFinalize (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeOnlyCallsSuperFinalize",
"url": "pmd_rules_java_errorprone.html#finalizeonlycallssuperfinalize",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "FinalizeOverloaded (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeOverloaded",
"url": "pmd_rules_java_errorprone.html#finalizeoverloaded",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "FinalizeShouldBeProtected (Java, Error Prone)",
"tags": "",
"keywords": "FinalizeShouldBeProtected",
"url": "pmd_rules_java_errorprone.html#finalizeshouldbeprotected",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "IdempotentOperations (Java, Error Prone)",
"tags": "",
"keywords": "IdempotentOperations",
"url": "pmd_rules_java_errorprone.html#idempotentoperations",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ImplicitSwitchFallThrough (Java, Error Prone)",
"tags": "",
"keywords": "ImplicitSwitchFallThrough",
"url": "pmd_rules_java_errorprone.html#implicitswitchfallthrough",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ImportFromSamePackage (Java, Error Prone)",
"tags": "",
"keywords": "ImportFromSamePackage",
"url": "pmd_rules_java_errorprone.html#importfromsamepackage",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InstantiationToGetClass (Java, Error Prone)",
"tags": "",
"keywords": "InstantiationToGetClass",
"url": "pmd_rules_java_errorprone.html#instantiationtogetclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InvalidSlf4jMessageFormat (Java, Error Prone)",
"tags": "",
"keywords": "InvalidSlf4jMessageFormat",
"url": "pmd_rules_java_errorprone.html#invalidslf4jmessageformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "InvalidLogMessageFormat (Java, Error Prone)",
"tags": "",
"keywords": "InvalidLogMessageFormat",
"url": "pmd_rules_java_errorprone.html#invalidlogmessageformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "JumbledIncrementer (Java, Error Prone)",
"tags": "",
"keywords": "JumbledIncrementer",
"url": "pmd_rules_java_errorprone.html#jumbledincrementer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "JUnitSpelling (Java, Error Prone)",
"tags": "",
"keywords": "JUnitSpelling",
"url": "pmd_rules_java_errorprone.html#junitspelling",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "JUnitStaticSuite (Java, Error Prone)",
"tags": "",
"keywords": "JUnitStaticSuite",
"url": "pmd_rules_java_errorprone.html#junitstaticsuite",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "LoggerIsNotStaticFinal (Java, Error Prone)",
"tags": "",
"keywords": "LoggerIsNotStaticFinal",
"url": "pmd_rules_java_errorprone.html#loggerisnotstaticfinal",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MethodWithSameNameAsEnclosingClass (Java, Error Prone)",
"tags": "",
"keywords": "MethodWithSameNameAsEnclosingClass",
"url": "pmd_rules_java_errorprone.html#methodwithsamenameasenclosingclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MisplacedNullCheck (Java, Error Prone)",
"tags": "",
"keywords": "MisplacedNullCheck",
"url": "pmd_rules_java_errorprone.html#misplacednullcheck",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MissingBreakInSwitch (Java, Error Prone)",
"tags": "",
"keywords": "MissingBreakInSwitch",
"url": "pmd_rules_java_errorprone.html#missingbreakinswitch",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MissingSerialVersionUID (Java, Error Prone)",
"tags": "",
"keywords": "MissingSerialVersionUID",
"url": "pmd_rules_java_errorprone.html#missingserialversionuid",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MissingStaticMethodInNonInstantiatableClass (Java, Error Prone)",
"tags": "",
"keywords": "MissingStaticMethodInNonInstantiatableClass",
"url": "pmd_rules_java_errorprone.html#missingstaticmethodinnoninstantiatableclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "MoreThanOneLogger (Java, Error Prone)",
"tags": "",
"keywords": "MoreThanOneLogger",
"url": "pmd_rules_java_errorprone.html#morethanonelogger",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "NonCaseLabelInSwitchStatement (Java, Error Prone)",
"tags": "",
"keywords": "NonCaseLabelInSwitchStatement",
"url": "pmd_rules_java_errorprone.html#noncaselabelinswitchstatement",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "NonSerializableClass (Java, Error Prone)",
"tags": "",
"keywords": "NonSerializableClass",
"url": "pmd_rules_java_errorprone.html#nonserializableclass",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "NonStaticInitializer (Java, Error Prone)",
"tags": "",
"keywords": "NonStaticInitializer",
"url": "pmd_rules_java_errorprone.html#nonstaticinitializer",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "NullAssignment (Java, Error Prone)",
"tags": "",
"keywords": "NullAssignment",
"url": "pmd_rules_java_errorprone.html#nullassignment",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "OverrideBothEqualsAndHashcode (Java, Error Prone)",
"tags": "",
"keywords": "OverrideBothEqualsAndHashcode",
"url": "pmd_rules_java_errorprone.html#overridebothequalsandhashcode",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ProperCloneImplementation (Java, Error Prone)",
"tags": "",
"keywords": "ProperCloneImplementation",
"url": "pmd_rules_java_errorprone.html#propercloneimplementation",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ProperLogger (Java, Error Prone)",
"tags": "",
"keywords": "ProperLogger",
"url": "pmd_rules_java_errorprone.html#properlogger",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ReturnEmptyArrayRatherThanNull (Java, Error Prone)",
"tags": "",
"keywords": "ReturnEmptyArrayRatherThanNull",
"url": "pmd_rules_java_errorprone.html#returnemptyarrayratherthannull",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ReturnEmptyCollectionRatherThanNull (Java, Error Prone)",
"tags": "",
"keywords": "ReturnEmptyCollectionRatherThanNull",
"url": "pmd_rules_java_errorprone.html#returnemptycollectionratherthannull",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "ReturnFromFinallyBlock (Java, Error Prone)",
"tags": "",
"keywords": "ReturnFromFinallyBlock",
"url": "pmd_rules_java_errorprone.html#returnfromfinallyblock",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SimpleDateFormatNeedsLocale (Java, Error Prone)",
"tags": "",
"keywords": "SimpleDateFormatNeedsLocale",
"url": "pmd_rules_java_errorprone.html#simpledateformatneedslocale",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SingleMethodSingleton (Java, Error Prone)",
"tags": "",
"keywords": "SingleMethodSingleton",
"url": "pmd_rules_java_errorprone.html#singlemethodsingleton",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SingletonClassReturningNewInstance (Java, Error Prone)",
"tags": "",
"keywords": "SingletonClassReturningNewInstance",
"url": "pmd_rules_java_errorprone.html#singletonclassreturningnewinstance",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "StaticEJBFieldShouldBeFinal (Java, Error Prone)",
"tags": "",
"keywords": "StaticEJBFieldShouldBeFinal",
"url": "pmd_rules_java_errorprone.html#staticejbfieldshouldbefinal",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "StringBufferInstantiationWithChar (Java, Error Prone)",
"tags": "",
"keywords": "StringBufferInstantiationWithChar",
"url": "pmd_rules_java_errorprone.html#stringbufferinstantiationwithchar",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SuspiciousEqualsMethodName (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousEqualsMethodName",
"url": "pmd_rules_java_errorprone.html#suspiciousequalsmethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SuspiciousHashcodeMethodName (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousHashcodeMethodName",
"url": "pmd_rules_java_errorprone.html#suspicioushashcodemethodname",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "SuspiciousOctalEscape (Java, Error Prone)",
"tags": "",
"keywords": "SuspiciousOctalEscape",
"url": "pmd_rules_java_errorprone.html#suspiciousoctalescape",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "TestClassWithoutTestCases (Java, Error Prone)",
"tags": "",
"keywords": "TestClassWithoutTestCases",
"url": "pmd_rules_java_errorprone.html#testclasswithouttestcases",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UnconditionalIfStatement (Java, Error Prone)",
"tags": "",
"keywords": "UnconditionalIfStatement",
"url": "pmd_rules_java_errorprone.html#unconditionalifstatement",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UnnecessaryBooleanAssertion (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryBooleanAssertion",
"url": "pmd_rules_java_errorprone.html#unnecessarybooleanassertion",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UnnecessaryCaseChange (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryCaseChange",
"url": "pmd_rules_java_errorprone.html#unnecessarycasechange",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UnnecessaryConversionTemporary (Java, Error Prone)",
"tags": "",
"keywords": "UnnecessaryConversionTemporary",
"url": "pmd_rules_java_errorprone.html#unnecessaryconversiontemporary",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UnusedNullCheckInEquals (Java, Error Prone)",
"tags": "",
"keywords": "UnusedNullCheckInEquals",
"url": "pmd_rules_java_errorprone.html#unusednullcheckinequals",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UseCorrectExceptionLogging (Java, Error Prone)",
"tags": "",
"keywords": "UseCorrectExceptionLogging",
"url": "pmd_rules_java_errorprone.html#usecorrectexceptionlogging",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UseEqualsToCompareStrings (Java, Error Prone)",
"tags": "",
"keywords": "UseEqualsToCompareStrings",
"url": "pmd_rules_java_errorprone.html#useequalstocomparestrings",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UselessOperationOnImmutable (Java, Error Prone)",
"tags": "",
"keywords": "UselessOperationOnImmutable",
"url": "pmd_rules_java_errorprone.html#uselessoperationonimmutable",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UseLocaleWithCaseConversions (Java, Error Prone)",
"tags": "",
"keywords": "UseLocaleWithCaseConversions",
"url": "pmd_rules_java_errorprone.html#uselocalewithcaseconversions",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "UseProperClassLoader (Java, Error Prone)",
"tags": "",
"keywords": "UseProperClassLoader",
"url": "pmd_rules_java_errorprone.html#useproperclassloader",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,







{
"title": "Error Prone (PLSQL, Error Prone)",
"tags": "",
"keywords": "Error Prone",
"url": "pmd_rules_plsql_errorprone.html#error prone",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "TO_DATE_TO_CHAR (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_DATE_TO_CHAR",
"url": "pmd_rules_plsql_errorprone.html#to_date_to_char",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "TO_DATEWithoutDateFormat (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_DATEWithoutDateFormat",
"url": "pmd_rules_plsql_errorprone.html#to_datewithoutdateformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}
,

{
"title": "TO_TIMESTAMPWithoutDateFormat (PLSQL, Error Prone)",
"tags": "",
"keywords": "TO_TIMESTAMPWithoutDateFormat",
"url": "pmd_rules_plsql_errorprone.html#to_timestampwithoutdateformat",
"summary": "Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors."
}





,





{
"title": "FAQ",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_faq.html",
"summary": ""
}



,







{
"title": "Gherkin",
"tags": "",
"keywords": "",
"url": "pmd_languages_gherkin.html",
"summary": ""
}



,





{
"title": "Gradle",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_gradle.html",
"summary": ""
}



,





{
"title": "Getting Help",
"tags": "",
"keywords": "",
"url": "pmd_about_help.html",
"summary": ""
}



,





{
"title": "How PMD Works",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_how_pmd_works.html",
"summary": "Processing overview of the different steps taken by PMD."
}



,





{
"title": "HTML Rules",
"tags": "rule_referenceshtml",
"keywords": "",
"url": "pmd_rules_html.html",
"summary": "Index of all built-in rules available for HTML"
}



,





{
"title": "Processing HTML files",
"tags": "",
"keywords": "",
"url": "pmd_languages_html.html",
"summary": ""
}



,





{
"title": "Incremental Analysis",
"tags": "userdocs",
"keywords": "pmdoptionscommandincrementalanalysisperformance",
"url": "pmd_userdocs_incremental_analysis.html",
"summary": "Explains how to use incremental analysis to speed up analysis"
}



,





{
"title": "Documentation Index",
"tags": "",
"keywords": "java",
"url": "index.html",
"summary": "Welcome to the documentation site for PMD and CPD! <br/><br/>"
}



,





{
"title": "Infrastructure",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_infrastructure.html",
"summary": ""
}



,





{
"title": "Installation and basic CLI usage",
"tags": "getting_starteduserdocs",
"keywords": "pmdcpdoptionscommandauxclasspath",
"url": "pmd_userdocs_installation.html",
"summary": "Sums up the first steps to set up a CLI installation and get started using PMD"
}



,





{
"title": "PMD Java API",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_java_api.html",
"summary": ""
}



,





{
"title": "Java Rules",
"tags": "rule_referencesjava",
"keywords": "",
"url": "pmd_rules_java.html",
"summary": "Index of all built-in rules available for Java"
}



,





{
"title": "Supported Java Versions",
"tags": "",
"keywords": "",
"url": "pmd_languages_java.html",
"summary": ""
}



,





{
"title": "Index of Java code metrics",
"tags": "extendingmetrics",
"keywords": "",
"url": "pmd_java_metrics_index.html",
"summary": "Index of the code metrics available out of the box to Java rule developers."
}



,





{
"title": "Java Server Pages Rules",
"tags": "rule_referencesjsp",
"keywords": "",
"url": "pmd_rules_jsp.html",
"summary": "Index of all built-in rules available for Java Server Pages"
}



,





{
"title": "JSP Support",
"tags": "",
"keywords": "",
"url": "pmd_languages_jsp.html",
"summary": ""
}



,





{
"title": "License",
"tags": "",
"keywords": "",
"url": "license.html",
"summary": ""
}



,





{
"title": "Main Landing Page",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_main_landing_page.html",
"summary": ""
}



,





{
"title": "Making rulesets",
"tags": "getting_starteduserdocs",
"keywords": "rulesetsreferenceruleexcludeincludepatternfilter",
"url": "pmd_userdocs_making_rulesets.html",
"summary": "A ruleset is an XML configuration file, which describes a collection of rules to be executed in a PMD run. PMD includes built-in rulesets to run quick analyses with a default configuration, but users are encouraged to make their own rulesets from the start, because they allow for so much configurability. This page walk you through the creation of a ruleset and the multiple configuration features offered by rulesets."
}



,





{
"title": "Maven PMD Plugin",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools_maven.html",
"summary": ""
}



,





{
"title": "What does &#39;PMD&#39; mean?",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_meaning.html",
"summary": ""
}



,





{
"title": "Merging pull requests",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_merging_pull_requests.html",
"summary": ""
}



,





{
"title": "Using and defining code metrics for custom rules",
"tags": "extendinguserdocsmetrics",
"keywords": "",
"url": "pmd_userdocs_extending_metrics_howto.html",
"summary": "Since version 6.0.0, PMD is enhanced with the ability to compute code metrics on Java and Apex source (the so-called Metrics Framework). This framework provides developers with a straightforward interface to use code metrics in their rules, and to extend the framework with their own custom metrics."
}



,





{
"title": "Modelica Rules",
"tags": "rule_referencesmodelica",
"keywords": "",
"url": "pmd_rules_modelica.html",
"summary": "Index of all built-in rules available for Modelica"
}



,







{
"title": "Multithreading (Java, Multithreading)",
"tags": "",
"keywords": "Multithreading",
"url": "pmd_rules_java_multithreading.html#multithreading",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "AvoidSynchronizedAtMethodLevel (Java, Multithreading)",
"tags": "",
"keywords": "AvoidSynchronizedAtMethodLevel",
"url": "pmd_rules_java_multithreading.html#avoidsynchronizedatmethodlevel",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "AvoidThreadGroup (Java, Multithreading)",
"tags": "",
"keywords": "AvoidThreadGroup",
"url": "pmd_rules_java_multithreading.html#avoidthreadgroup",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "AvoidUsingVolatile (Java, Multithreading)",
"tags": "",
"keywords": "AvoidUsingVolatile",
"url": "pmd_rules_java_multithreading.html#avoidusingvolatile",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "DoNotUseThreads (Java, Multithreading)",
"tags": "",
"keywords": "DoNotUseThreads",
"url": "pmd_rules_java_multithreading.html#donotusethreads",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "DontCallThreadRun (Java, Multithreading)",
"tags": "",
"keywords": "DontCallThreadRun",
"url": "pmd_rules_java_multithreading.html#dontcallthreadrun",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "DoubleCheckedLocking (Java, Multithreading)",
"tags": "",
"keywords": "DoubleCheckedLocking",
"url": "pmd_rules_java_multithreading.html#doublecheckedlocking",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "NonThreadSafeSingleton (Java, Multithreading)",
"tags": "",
"keywords": "NonThreadSafeSingleton",
"url": "pmd_rules_java_multithreading.html#nonthreadsafesingleton",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "UnsynchronizedStaticDateFormatter (Java, Multithreading)",
"tags": "",
"keywords": "UnsynchronizedStaticDateFormatter",
"url": "pmd_rules_java_multithreading.html#unsynchronizedstaticdateformatter",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "UnsynchronizedStaticFormatter (Java, Multithreading)",
"tags": "",
"keywords": "UnsynchronizedStaticFormatter",
"url": "pmd_rules_java_multithreading.html#unsynchronizedstaticformatter",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "UseConcurrentHashMap (Java, Multithreading)",
"tags": "",
"keywords": "UseConcurrentHashMap",
"url": "pmd_rules_java_multithreading.html#useconcurrenthashmap",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}
,

{
"title": "UseNotifyAllInsteadOfNotify (Java, Multithreading)",
"tags": "",
"keywords": "UseNotifyAllInsteadOfNotify",
"url": "pmd_rules_java_multithreading.html#usenotifyallinsteadofnotify",
"summary": "Rules that flag issues when dealing with multiple threads of execution."
}





,





{
"title": "Scroll layout",
"tags": "special_layouts",
"keywords": "json, scrolling, scrollto, jquery plugin",
"url": "jsmydoc_scroll.html",
"summary": "This page demonstrates how you the integration of a script called ScrollTo, which is used here to link definitions of a JSON code sample to a list of definitions for that particular term. The scenario here is that the JSON blocks are really long, with extensive nesting and subnesting, which makes it difficult for tables below the JSON to adequately explain the term in a usable way."
}



,





{
"title": "News",
"tags": "",
"keywords": "news, blog, updates, release notes, announcements",
"url": "news.html",
"summary": ""
}



,





{
"title": "PMD in the press",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_news.html",
"summary": ""
}



,





{
"title": "News",
"tags": "",
"keywords": "news, blog, updates, release notes, announcements",
"url": "news_archive.html",
"summary": ""
}



,





{
"title": "PMD 7.0.0 development",
"tags": "",
"keywords": "changelog, release notes, deprecation, api changes",
"url": "pmd_next_major_development.html",
"summary": ""
}



,







{
"title": "Performance (Apex, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_apex_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidDebugStatements (Apex, Performance)",
"tags": "",
"keywords": "AvoidDebugStatements",
"url": "pmd_rules_apex_performance.html#avoiddebugstatements",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidDmlStatementsInLoops (Apex, Performance)",
"tags": "",
"keywords": "AvoidDmlStatementsInLoops",
"url": "pmd_rules_apex_performance.html#avoiddmlstatementsinloops",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidSoqlInLoops (Apex, Performance)",
"tags": "",
"keywords": "AvoidSoqlInLoops",
"url": "pmd_rules_apex_performance.html#avoidsoqlinloops",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidSoslInLoops (Apex, Performance)",
"tags": "",
"keywords": "AvoidSoslInLoops",
"url": "pmd_rules_apex_performance.html#avoidsoslinloops",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "EagerlyLoadedDescribeSObjectResult (Apex, Performance)",
"tags": "",
"keywords": "EagerlyLoadedDescribeSObjectResult",
"url": "pmd_rules_apex_performance.html#eagerlyloadeddescribesobjectresult",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "OperationWithLimitsInLoop (Apex, Performance)",
"tags": "",
"keywords": "OperationWithLimitsInLoop",
"url": "pmd_rules_apex_performance.html#operationwithlimitsinloop",
"summary": "Rules that flag suboptimal code."
}





,







{
"title": "Performance (XSL, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_xsl_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidAxisNavigation (XSL, Performance)",
"tags": "",
"keywords": "AvoidAxisNavigation",
"url": "pmd_rules_xsl_performance.html#avoidaxisnavigation",
"summary": "Rules that flag suboptimal code."
}





,







{
"title": "Performance (Java, Performance)",
"tags": "",
"keywords": "Performance",
"url": "pmd_rules_java_performance.html#performance",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AddEmptyString (Java, Performance)",
"tags": "",
"keywords": "AddEmptyString",
"url": "pmd_rules_java_performance.html#addemptystring",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AppendCharacterWithChar (Java, Performance)",
"tags": "",
"keywords": "AppendCharacterWithChar",
"url": "pmd_rules_java_performance.html#appendcharacterwithchar",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidArrayLoops (Java, Performance)",
"tags": "",
"keywords": "AvoidArrayLoops",
"url": "pmd_rules_java_performance.html#avoidarrayloops",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidCalendarDateCreation (Java, Performance)",
"tags": "",
"keywords": "AvoidCalendarDateCreation",
"url": "pmd_rules_java_performance.html#avoidcalendardatecreation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidFileStream (Java, Performance)",
"tags": "",
"keywords": "AvoidFileStream",
"url": "pmd_rules_java_performance.html#avoidfilestream",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidInstantiatingObjectsInLoops (Java, Performance)",
"tags": "",
"keywords": "AvoidInstantiatingObjectsInLoops",
"url": "pmd_rules_java_performance.html#avoidinstantiatingobjectsinloops",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "AvoidUsingShortType (Java, Performance)",
"tags": "",
"keywords": "AvoidUsingShortType",
"url": "pmd_rules_java_performance.html#avoidusingshorttype",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "BigIntegerInstantiation (Java, Performance)",
"tags": "",
"keywords": "BigIntegerInstantiation",
"url": "pmd_rules_java_performance.html#bigintegerinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "BooleanInstantiation (Java, Performance)",
"tags": "",
"keywords": "BooleanInstantiation",
"url": "pmd_rules_java_performance.html#booleaninstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "ByteInstantiation (Java, Performance)",
"tags": "",
"keywords": "ByteInstantiation",
"url": "pmd_rules_java_performance.html#byteinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "ConsecutiveAppendsShouldReuse (Java, Performance)",
"tags": "",
"keywords": "ConsecutiveAppendsShouldReuse",
"url": "pmd_rules_java_performance.html#consecutiveappendsshouldreuse",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "ConsecutiveLiteralAppends (Java, Performance)",
"tags": "",
"keywords": "ConsecutiveLiteralAppends",
"url": "pmd_rules_java_performance.html#consecutiveliteralappends",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "InefficientEmptyStringCheck (Java, Performance)",
"tags": "",
"keywords": "InefficientEmptyStringCheck",
"url": "pmd_rules_java_performance.html#inefficientemptystringcheck",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "InefficientStringBuffering (Java, Performance)",
"tags": "",
"keywords": "InefficientStringBuffering",
"url": "pmd_rules_java_performance.html#inefficientstringbuffering",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "InsufficientStringBufferDeclaration (Java, Performance)",
"tags": "",
"keywords": "InsufficientStringBufferDeclaration",
"url": "pmd_rules_java_performance.html#insufficientstringbufferdeclaration",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "IntegerInstantiation (Java, Performance)",
"tags": "",
"keywords": "IntegerInstantiation",
"url": "pmd_rules_java_performance.html#integerinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "LongInstantiation (Java, Performance)",
"tags": "",
"keywords": "LongInstantiation",
"url": "pmd_rules_java_performance.html#longinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "OptimizableToArrayCall (Java, Performance)",
"tags": "",
"keywords": "OptimizableToArrayCall",
"url": "pmd_rules_java_performance.html#optimizabletoarraycall",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "RedundantFieldInitializer (Java, Performance)",
"tags": "",
"keywords": "RedundantFieldInitializer",
"url": "pmd_rules_java_performance.html#redundantfieldinitializer",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "SimplifyStartsWith (Java, Performance)",
"tags": "",
"keywords": "SimplifyStartsWith",
"url": "pmd_rules_java_performance.html#simplifystartswith",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "ShortInstantiation (Java, Performance)",
"tags": "",
"keywords": "ShortInstantiation",
"url": "pmd_rules_java_performance.html#shortinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "StringInstantiation (Java, Performance)",
"tags": "",
"keywords": "StringInstantiation",
"url": "pmd_rules_java_performance.html#stringinstantiation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "StringToString (Java, Performance)",
"tags": "",
"keywords": "StringToString",
"url": "pmd_rules_java_performance.html#stringtostring",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "TooFewBranchesForASwitchStatement (Java, Performance)",
"tags": "",
"keywords": "TooFewBranchesForASwitchStatement",
"url": "pmd_rules_java_performance.html#toofewbranchesforaswitchstatement",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UnnecessaryWrapperObjectCreation (Java, Performance)",
"tags": "",
"keywords": "UnnecessaryWrapperObjectCreation",
"url": "pmd_rules_java_performance.html#unnecessarywrapperobjectcreation",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseArrayListInsteadOfVector (Java, Performance)",
"tags": "",
"keywords": "UseArrayListInsteadOfVector",
"url": "pmd_rules_java_performance.html#usearraylistinsteadofvector",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseArraysAsList (Java, Performance)",
"tags": "",
"keywords": "UseArraysAsList",
"url": "pmd_rules_java_performance.html#usearraysaslist",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseIndexOfChar (Java, Performance)",
"tags": "",
"keywords": "UseIndexOfChar",
"url": "pmd_rules_java_performance.html#useindexofchar",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseIOStreamsWithApacheCommonsFileItem (Java, Performance)",
"tags": "",
"keywords": "UseIOStreamsWithApacheCommonsFileItem",
"url": "pmd_rules_java_performance.html#useiostreamswithapachecommonsfileitem",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UselessStringValueOf (Java, Performance)",
"tags": "",
"keywords": "UselessStringValueOf",
"url": "pmd_rules_java_performance.html#uselessstringvalueof",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseStringBufferForStringAppends (Java, Performance)",
"tags": "",
"keywords": "UseStringBufferForStringAppends",
"url": "pmd_rules_java_performance.html#usestringbufferforstringappends",
"summary": "Rules that flag suboptimal code."
}
,

{
"title": "UseStringBufferLength (Java, Performance)",
"tags": "",
"keywords": "UseStringBufferLength",
"url": "pmd_rules_java_performance.html#usestringbufferlength",
"summary": "Rules that flag suboptimal code."
}





,





{
"title": "PLSQL Rules",
"tags": "rule_referencesplsql",
"keywords": "",
"url": "pmd_rules_plsql.html",
"summary": "Index of all built-in rules available for PLSQL"
}



,





{
"title": "PLSQL",
"tags": "",
"keywords": "",
"url": "pmd_languages_plsql.html",
"summary": ""
}



,





{
"title": "Report formats for PMD",
"tags": "pmduserdocs",
"keywords": "formatsrenderers",
"url": "pmd_userdocs_report_formats.html",
"summary": "Overview of the built-in report formats for PMD"
}



,





{
"title": "Pmdtester",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_pmdtester.html",
"summary": ""
}



,





{
"title": "Maven POM Rules",
"tags": "rule_referencespom",
"keywords": "",
"url": "pmd_rules_pom.html",
"summary": "Index of all built-in rules available for Maven POM"
}



,





{
"title": "Products/books related to PMD",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_products.html",
"summary": ""
}



,





{
"title": "PMD Release Notes",
"tags": "",
"keywords": "changelog, release notes",
"url": "pmd_release_notes.html",
"summary": ""
}



,





{
"title": "Old Release Notes",
"tags": "",
"keywords": "",
"url": "pmd_release_notes_old.html",
"summary": ""
}



,





{
"title": "Release process",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_committers_releasing.html",
"summary": ""
}



,





{
"title": "Roadmap",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_roadmap.html",
"summary": ""
}



,





{
"title": "Rule deprecation policy",
"tags": "devdocs",
"keywords": "",
"url": "pmd_devdocs_rule_deprecation_policy.html",
"summary": "Describes when and how rules are deprecated"
}



,





{
"title": "Rule guidelines",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_rule_guidelines.html",
"summary": "Rule Guidelines, or the last touches to a rule"
}



,





{
"title": "Guidelines for standard rules",
"tags": "devdocsextending",
"keywords": "",
"url": "pmd_devdocs_major_rule_guidelines.html",
"summary": "Guidelines for rules that are included in the standard distribution"
}



,





{
"title": "Scala Rules",
"tags": "rule_referencesscala",
"keywords": "",
"url": "pmd_rules_scala.html",
"summary": "Index of all built-in rules available for Scala"
}



,









{
"title": "Security (Salesforce VisualForce, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_vf_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "VfCsrf (Salesforce VisualForce, Security)",
"tags": "",
"keywords": "VfCsrf",
"url": "pmd_rules_vf_security.html#vfcsrf",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "VfHtmlStyleTagXss (Salesforce VisualForce, Security)",
"tags": "",
"keywords": "VfHtmlStyleTagXss",
"url": "pmd_rules_vf_security.html#vfhtmlstyletagxss",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "VfUnescapeEl (Salesforce VisualForce, Security)",
"tags": "",
"keywords": "VfUnescapeEl",
"url": "pmd_rules_vf_security.html#vfunescapeel",
"summary": "Rules that flag potential security flaws."
}





,







{
"title": "Security (Apex, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_apex_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexBadCrypto (Apex, Security)",
"tags": "",
"keywords": "ApexBadCrypto",
"url": "pmd_rules_apex_security.html#apexbadcrypto",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexCRUDViolation (Apex, Security)",
"tags": "",
"keywords": "ApexCRUDViolation",
"url": "pmd_rules_apex_security.html#apexcrudviolation",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexCSRF (Apex, Security)",
"tags": "",
"keywords": "ApexCSRF",
"url": "pmd_rules_apex_security.html#apexcsrf",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexDangerousMethods (Apex, Security)",
"tags": "",
"keywords": "ApexDangerousMethods",
"url": "pmd_rules_apex_security.html#apexdangerousmethods",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexInsecureEndpoint (Apex, Security)",
"tags": "",
"keywords": "ApexInsecureEndpoint",
"url": "pmd_rules_apex_security.html#apexinsecureendpoint",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexOpenRedirect (Apex, Security)",
"tags": "",
"keywords": "ApexOpenRedirect",
"url": "pmd_rules_apex_security.html#apexopenredirect",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexSharingViolations (Apex, Security)",
"tags": "",
"keywords": "ApexSharingViolations",
"url": "pmd_rules_apex_security.html#apexsharingviolations",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexSOQLInjection (Apex, Security)",
"tags": "",
"keywords": "ApexSOQLInjection",
"url": "pmd_rules_apex_security.html#apexsoqlinjection",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexSuggestUsingNamedCred (Apex, Security)",
"tags": "",
"keywords": "ApexSuggestUsingNamedCred",
"url": "pmd_rules_apex_security.html#apexsuggestusingnamedcred",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexXSSFromEscapeFalse (Apex, Security)",
"tags": "",
"keywords": "ApexXSSFromEscapeFalse",
"url": "pmd_rules_apex_security.html#apexxssfromescapefalse",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "ApexXSSFromURLParam (Apex, Security)",
"tags": "",
"keywords": "ApexXSSFromURLParam",
"url": "pmd_rules_apex_security.html#apexxssfromurlparam",
"summary": "Rules that flag potential security flaws."
}





,







{
"title": "Security (Java Server Pages, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_jsp_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "IframeMissingSrcAttribute (Java Server Pages, Security)",
"tags": "",
"keywords": "IframeMissingSrcAttribute",
"url": "pmd_rules_jsp_security.html#iframemissingsrcattribute",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "NoUnsanitizedJSPExpression (Java Server Pages, Security)",
"tags": "",
"keywords": "NoUnsanitizedJSPExpression",
"url": "pmd_rules_jsp_security.html#nounsanitizedjspexpression",
"summary": "Rules that flag potential security flaws."
}





,







{
"title": "Security (Java, Security)",
"tags": "",
"keywords": "Security",
"url": "pmd_rules_java_security.html#security",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "HardCodedCryptoKey (Java, Security)",
"tags": "",
"keywords": "HardCodedCryptoKey",
"url": "pmd_rules_java_security.html#hardcodedcryptokey",
"summary": "Rules that flag potential security flaws."
}
,

{
"title": "InsecureCryptoIv (Java, Security)",
"tags": "",
"keywords": "InsecureCryptoIv",
"url": "pmd_rules_java_security.html#insecurecryptoiv",
"summary": "Rules that flag potential security flaws."
}





,





{
"title": "Similar projects",
"tags": "",
"keywords": "",
"url": "pmd_projectdocs_trivia_similarprojects.html",
"summary": ""
}



,







{
"title": "Suppressing warnings",
"tags": "userdocs",
"keywords": "suppressingwarningssuppresswarningsnopmdviolationSuppressXPathviolationSuppressRegex",
"url": "pmd_userdocs_suppressing_warnings.html",
"summary": "Learn how to suppress some rule violations, from the source code using annotations or comments, or globally from the ruleset"
}



,

























{
"title": "Testing your rules",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_testing.html",
"summary": "Learn how to use PMD's simple test framework for unit testing rules."
}



,





{
"title": "Tools / Integrations",
"tags": "userdocstools",
"keywords": "",
"url": "pmd_userdocs_tools.html",
"summary": ""
}



,









{
"title": "Salesforce VisualForce Rules",
"tags": "rule_referencesvf",
"keywords": "",
"url": "pmd_rules_vf.html",
"summary": "Index of all built-in rules available for Salesforce VisualForce"
}



,





{
"title": "Visualforce Support",
"tags": "",
"keywords": "",
"url": "pmd_languages_visualforce.html",
"summary": ""
}



,





{
"title": "VM Rules",
"tags": "rule_referencesvm",
"keywords": "",
"url": "pmd_rules_vm.html",
"summary": "Index of all built-in rules available for VM"
}



,





{
"title": "Writing documentation",
"tags": "devdocs",
"keywords": "documentation, jekyll, markdown",
"url": "pmd_devdocs_writing_documentation.html",
"summary": ""
}



,





{
"title": "Writing a custom rule",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_java_rules.html",
"summary": "Learn how to write a custom rule for PMD"
}



,





{
"title": "Writing a custom rule",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_pmd_rules.html",
"summary": ""
}



,





{
"title": "Introduction to writing PMD rules",
"tags": "extendinguserdocsgetting_started",
"keywords": "",
"url": "pmd_userdocs_extending_writing_rules_intro.html",
"summary": "Writing your own PMD rules"
}



,





{
"title": "Writing XPath rules",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_writing_xpath_rules.html",
"summary": "This page describes XPath rule support in more details"
}



,





{
"title": "XML Rules",
"tags": "rule_referencesxml",
"keywords": "",
"url": "pmd_rules_xml.html",
"summary": "Index of all built-in rules available for XML"
}



,





{
"title": "Processing XML files",
"tags": "",
"keywords": "",
"url": "pmd_languages_xml.html",
"summary": ""
}



,





{
"title": "XSL Rules",
"tags": "rule_referencesxsl",
"keywords": "",
"url": "pmd_rules_xsl.html",
"summary": "Index of all built-in rules available for XSL"
}



,





{
"title": "Your first rule XPath",
"tags": "extendinguserdocs",
"keywords": "",
"url": "pmd_userdocs_extending_your_first_rule.html",
"summary": "Introduction to rule writing through an example."
}









]
