diff --git a/404.html b/404.html index 64a2bebf71..03fab40434 100644 --- a/404.html +++ b/404.html @@ -1441,7 +1441,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
doTest
Signature<N>
diff --git a/pmd_devdocs_roadmap.html b/pmd_devdocs_roadmap.html
index a5add92dbf..783703eda6 100644
--- a/pmd_devdocs_roadmap.html
+++ b/pmd_devdocs_roadmap.html
@@ -1584,7 +1584,7 @@ This should be configurable on per Rule basis similar to TR and SymbolTable.
diff --git a/pmd_devdocs_rule_deprecation_policy.html b/pmd_devdocs_rule_deprecation_policy.html
index 4db73b3071..40869f1705 100644
--- a/pmd_devdocs_rule_deprecation_policy.html
+++ b/pmd_devdocs_rule_deprecation_policy.html
@@ -1553,7 +1553,7 @@ major release of PMD.
diff --git a/pmd_devdocs_writing_documentation.html b/pmd_devdocs_writing_documentation.html
index 6a7b5b46a7..8770a57f83 100644
--- a/pmd_devdocs_writing_documentation.html
+++ b/pmd_devdocs_writing_documentation.html
@@ -1700,7 +1700,7 @@ by specifying
-Dpmd.doc.check
diff --git a/pmd_java_metrics_index.html b/pmd_java_metrics_index.html
index 0691d006b8..7ec13c1941 100644
--- a/pmd_java_metrics_index.html
+++ b/pmd_java_metrics_index.html
@@ -1872,7 +1872,7 @@ In Proceedings ACM Symposium on Software Reusability, 1995.
diff --git a/pmd_languages_jsp.html b/pmd_languages_jsp.html
index b32ef5d609..4e9bcf1388 100644
--- a/pmd_languages_jsp.html
+++ b/pmd_languages_jsp.html
@@ -1494,7 +1494,7 @@ contains only “.java” files, JSP files obviously will not be checked.
diff --git a/pmd_languages_plsql.html b/pmd_languages_plsql.html
index 5d29e5d40a..20a0a54968 100644
--- a/pmd_languages_plsql.html
+++ b/pmd_languages_plsql.html
@@ -1481,7 +1481,7 @@ a custom XPath rule with the following expression:
diff --git a/pmd_next_major_development.html b/pmd_next_major_development.html
index e2309ca3ea..93fbc98882 100644
--- a/pmd_next_major_development.html
+++ b/pmd_next_major_development.html
@@ -2898,7 +2898,7 @@ replacement.
diff --git a/pmd_projectdocs_committers_infrastructure.html b/pmd_projectdocs_committers_infrastructure.html
index d0c7aabef6..47e67d2362 100644
--- a/pmd_projectdocs_committers_infrastructure.html
+++ b/pmd_projectdocs_committers_infrastructure.html
@@ -1525,7 +1525,7 @@ Login is via github.
diff --git a/pmd_projectdocs_committers_main_landing_page.html b/pmd_projectdocs_committers_main_landing_page.html
index 88d4ca09f7..3cdac83d13 100644
--- a/pmd_projectdocs_committers_main_landing_page.html
+++ b/pmd_projectdocs_committers_main_landing_page.html
@@ -1533,7 +1533,7 @@ the new post is recognized and added to the news section and also on the news su
diff --git a/pmd_projectdocs_committers_merging_pull_requests.html b/pmd_projectdocs_committers_merging_pull_requests.html
index b30b052a83..5b65842c3d 100644
--- a/pmd_projectdocs_committers_merging_pull_requests.html
+++ b/pmd_projectdocs_committers_merging_pull_requests.html
@@ -1612,7 +1612,7 @@ integrated (e.g. gitk and github show the branches, from which the specific comm
diff --git a/pmd_projectdocs_committers_releasing.html b/pmd_projectdocs_committers_releasing.html
index abe975c0a0..97578e752a 100644
--- a/pmd_projectdocs_committers_releasing.html
+++ b/pmd_projectdocs_committers_releasing.html
@@ -1841,7 +1841,7 @@ the maintenance branch needs to be set.
diff --git a/pmd_projectdocs_credits.html b/pmd_projectdocs_credits.html
index 5185e9be41..746e1e1ac3 100644
--- a/pmd_projectdocs_credits.html
+++ b/pmd_projectdocs_credits.html
@@ -1955,7 +1955,7 @@ PMD scoreboard formulas, pmd-dcpd optimizations
diff --git a/pmd_projectdocs_faq.html b/pmd_projectdocs_faq.html
index 461112dc8c..542f1652ce 100644
--- a/pmd_projectdocs_faq.html
+++ b/pmd_projectdocs_faq.html
@@ -1488,7 +1488,7 @@ You must take this into account for certain rules.
diff --git a/pmd_projectdocs_trivia_meaning.html b/pmd_projectdocs_trivia_meaning.html
index de12d47bc8..78caa8317d 100644
--- a/pmd_projectdocs_trivia_meaning.html
+++ b/pmd_projectdocs_trivia_meaning.html
@@ -1457,7 +1457,7 @@ really know. We just think the letters sound good together.
diff --git a/pmd_projectdocs_trivia_news.html b/pmd_projectdocs_trivia_news.html
index 7c55de4cae..13570d5d64 100644
--- a/pmd_projectdocs_trivia_news.html
+++ b/pmd_projectdocs_trivia_news.html
@@ -1577,7 +1577,7 @@ interview with Ole-Martin and Tom
diff --git a/pmd_projectdocs_trivia_products.html b/pmd_projectdocs_trivia_products.html
index 162a11f273..1d8df4ac84 100644
--- a/pmd_projectdocs_trivia_products.html
+++ b/pmd_projectdocs_trivia_products.html
@@ -1505,7 +1505,7 @@ to catch web app security problems. Thanks to Joseph Hemler for the props!
diff --git a/pmd_projectdocs_trivia_similarprojects.html b/pmd_projectdocs_trivia_similarprojects.html
index 6f7bf80fb7..60ea25f983 100644
--- a/pmd_projectdocs_trivia_similarprojects.html
+++ b/pmd_projectdocs_trivia_similarprojects.html
@@ -1512,7 +1512,7 @@ only for maven project.
diff --git a/pmd_release_notes.html b/pmd_release_notes.html
index 151fab171e..27e8d753d2 100644
--- a/pmd_release_notes.html
+++ b/pmd_release_notes.html
@@ -1432,6 +1432,16 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
New rules
+
+ - The new Apex rule
AvoidDebugStatements
finds usages of System.debug
calls.
+Debug statements contribute to longer transactions and consume Apex CPU time even when debug logs are not
+being captured.
+You can try out this rule like so:
+
+
+ <rule ref="category/apex/performance.xml/AvoidDebugStatements" />
+
+
- The new Apex rule
InaccessibleAuraEnabledGetter
checks that an AuraEnabled
getter is public or global. This is necessary if it is referenced in Lightning components.
@@ -1441,7 +1451,7 @@ You can try out this rule like so:
<rule ref="category/apex/errorprone.xml/InaccessibleAuraEnabledGetter" />
-Renamed rules
+Renamed rules
- The Java rule
BadComparison
has been renamed to
@@ -1452,8 +1462,9 @@ It now considers usages of Do
Fixed Issues
- - apex-errorprone
+
- apex
@@ -1480,8 +1491,10 @@ It now considers usages of Do
External Contributions
+ - #3276: [apex] Update ApexCRUDViolation and OperationWithLimitsInLoop docs - Jonathan Wiesel
- #3306: [java] More than one logger rule test null pointer exception - Arnaud Jeansen
- #3317: [java] Update UnnecessaryImport to recognize usage of imported types in javadoc’s
@exception
tag - Piotrek Żygieło
+ - #3319: [apex] New AvoidDebugStatements rule to mitigate performance impact - Jonathan Wiesel
- #3320: [java] Fix incorrect increment for “else if” branch in Cognitive Complexity docs - Denis Borovikov
- #3322: [apex] added rule to detect inaccessible AuraEnabled getters - Philippe Ozil
- #3323: [core] Adds fullDescription and tags in SARIF report - Clint Chester
@@ -1503,7 +1516,7 @@ It now considers usages of Do
diff --git a/pmd_release_notes_old.html b/pmd_release_notes_old.html
index 0813d1fff9..4a8d37b13f 100644
--- a/pmd_release_notes_old.html
+++ b/pmd_release_notes_old.html
@@ -13922,7 +13922,7 @@ Added new HTML report format
diff --git a/pmd_rules_apex.html b/pmd_rules_apex.html
index 88dc3246f8..48aa047749 100644
--- a/pmd_rules_apex.html
+++ b/pmd_rules_apex.html
@@ -1509,10 +1509,11 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
Rules that flag suboptimal code.
+ - AvoidDebugStatements: Debug statements contribute to longer transactions and consume Apex CPU time even when debug logs…
- AvoidDmlStatementsInLoops: Deprecated Avoid DML statements inside loops to avoid hitting the DML governor limit. Instead, try to batch …
- AvoidSoqlInLoops: Deprecated New objects created within loops should be checked to see if they can created outside them and re…
- AvoidSoslInLoops: Deprecated Sosl calls within loops can cause governor limit exceptions. This rule is deprecated and will be …
- - OperationWithLimitsInLoop: Database class methods, DML operations, SOQL queries, or SOSL queries within loops can cause gove…
+ - OperationWithLimitsInLoop: Database class methods, DML operations, SOQL queries, SOSL queries, Approval class methods, Email…
Security
@@ -1654,7 +1655,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_bestpractices.html b/pmd_rules_apex_bestpractices.html
index 5228d81e91..f2327435b3 100644
--- a/pmd_rules_apex_bestpractices.html
+++ b/pmd_rules_apex_bestpractices.html
@@ -1957,7 +1957,7 @@ Therefore delegate the triggers work to a regular class (often called Trigger ha
diff --git a/pmd_rules_apex_codestyle.html b/pmd_rules_apex_codestyle.html
index 0b342229da..0fe256aeb8 100644
--- a/pmd_rules_apex_codestyle.html
+++ b/pmd_rules_apex_codestyle.html
@@ -2526,7 +2526,7 @@ controlled from the rest.
diff --git a/pmd_rules_apex_design.html b/pmd_rules_apex_design.html
index f5eee0715c..a201a25833 100644
--- a/pmd_rules_apex_design.html
+++ b/pmd_rules_apex_design.html
@@ -2483,7 +2483,7 @@ city/state/zip fields could park them within a single Address field.
diff --git a/pmd_rules_apex_documentation.html b/pmd_rules_apex_documentation.html
index 47fc723ece..67d598a8a6 100644
--- a/pmd_rules_apex_documentation.html
+++ b/pmd_rules_apex_documentation.html
@@ -1537,7 +1537,7 @@ order as the method signature.
diff --git a/pmd_rules_apex_errorprone.html b/pmd_rules_apex_errorprone.html
index 2cea92a7ec..4a976ffcac 100644
--- a/pmd_rules_apex_errorprone.html
+++ b/pmd_rules_apex_errorprone.html
@@ -2333,7 +2333,7 @@ dealing with legacy code.
diff --git a/pmd_rules_apex_performance.html b/pmd_rules_apex_performance.html
index 77b24538f7..f5210be62d 100644
--- a/pmd_rules_apex_performance.html
+++ b/pmd_rules_apex_performance.html
@@ -5,7 +5,7 @@
-
+
Performance | PMD Source Code Analyzer
@@ -1425,6 +1425,78 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
+AvoidDebugStatements
+
+Since: PMD 6.36.0
+
+Priority: Medium (3)
+
+Debug statements contribute to longer transactions and consume Apex CPU time even when debug logs are not being captured.
+
+When possible make use of other debugging techniques such as the Apex Replay Debugger and Checkpoints that could cover most use cases.
+
+For other valid use cases that the statement is in fact valid make use of the @SuppressWarnings
annotation or the //NOPMD
comment.
+
+This rule is defined by the following XPath expression:
+//MethodCallExpression[lower-case(@FullMethodName)='system.debug']
+
+
+Example(s):
+
+public class Foo {
+ public void bar() {
+ Account acc = [SELECT Name, Owner.Name FROM Account LIMIT 1];
+ System.debug(accs); // will get reported
+ }
+
+ @SuppressWarnings('PMD.AvoidDebugStatements')
+ public void baz() {
+ try {
+ Account myAccount = bar();
+ } catch (Exception e) {
+ System.debug(LoggingLevel.ERROR, e.getMessage()); // good to go
+ }
+ }
+}
+
+
+This rule has the following properties:
+
+
+
+
+ Name
+ Default Value
+ Description
+ Multivalued
+
+
+
+
+ cc_categories
+ Style
+ Deprecated Code Climate Categories
+ yes. Delimiter is ‘|’.
+
+
+ cc_remediation_points_multiplier
+ 1
+ Deprecated Code Climate Remediation Points multiplier
+ no
+
+
+ cc_block_highlighting
+ false
+ Deprecated Code Climate Block Highlighting
+ no
+
+
+
+
+Use this rule with the default properties by just referencing it:
+<rule ref="category/apex/performance.xml/AvoidDebugStatements" />
+
+
AvoidDmlStatementsInLoops
Deprecated
@@ -1622,7 +1694,7 @@ by the more general rule net.sourceforge.pmd.lang.apex.rule.performance.OperationWithLimitsInLoopRule
@@ -1654,6 +1726,32 @@ by the more general rule List<List<SObject>> searchList = [FIND 'map*' IN ALL FIELDS RETURNING Account (Id, Name), Contact, Opportunity, Lead];
}
}
+
+ public void messageInsideOfLoop() {
+ for (Integer i = 0; i < 10; i++) {
+ Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
+ Messaging.sendEmail(new Messaging.SingleEmailMessage[]{email});
+ }
+ }
+
+ public void approvalInsideOfLoop(Account[] accs) {
+ for (Integer i = 0; i < 10; i++) {
+ Account acc = accs[i];
+ Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
+ req.setObjectId(acc.Id);
+ Approval.process(req);
+ Approval.lock(acc);
+ Approval.unlock(acc);
+ }
+ }
+
+ public void asyncInsideOfLoop() {
+ for (Integer i = 0; i < 10; i++) {
+ System.enqueueJob(new MyQueueable());
+ System.schedule('x', '0 0 0 1 1 ?', new MySchedule());
+ System.scheduleBatch(new MyBatch(), 'x', 1);
+ }
+ }
}
@@ -1710,7 +1808,7 @@ by the more general rule
diff --git a/pmd_rules_apex_security.html b/pmd_rules_apex_security.html
index c57404703c..5181ed619e 100644
--- a/pmd_rules_apex_security.html
+++ b/pmd_rules_apex_security.html
@@ -1504,7 +1504,9 @@ should be suppressed.
public class Foo {
public Contact foo(String status, String ID) {
- Contact c = [SELECT Status__c FROM Contact WHERE Id=:ID];
+
+ // validate you can actually query what you intend to retrieve
+ Contact c = [SELECT Status__c FROM Contact WHERE Id=:ID WITH SECURITY_ENFORCED];
// Make sure we can update the database before even trying
if (!Schema.sObjectType.Contact.fields.Name.isUpdateable()) {
@@ -2129,7 +2131,7 @@ to avoid XSS attacks.
diff --git a/pmd_rules_ecmascript.html b/pmd_rules_ecmascript.html
index aef64e2c15..101e815e04 100644
--- a/pmd_rules_ecmascript.html
+++ b/pmd_rules_ecmascript.html
@@ -1528,7 +1528,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_ecmascript_bestpractices.html b/pmd_rules_ecmascript_bestpractices.html
index 91ab6714c1..80f2ad8e55 100644
--- a/pmd_rules_ecmascript_bestpractices.html
+++ b/pmd_rules_ecmascript_bestpractices.html
@@ -1652,7 +1652,7 @@ It also improves readability, if the base is given.
diff --git a/pmd_rules_ecmascript_codestyle.html b/pmd_rules_ecmascript_codestyle.html
index d46b142f1a..cf81ed15d2 100644
--- a/pmd_rules_ecmascript_codestyle.html
+++ b/pmd_rules_ecmascript_codestyle.html
@@ -1794,7 +1794,7 @@ will never execute. This is a bug, or extremely poor style.
diff --git a/pmd_rules_ecmascript_errorprone.html b/pmd_rules_ecmascript_errorprone.html
index 4bb0347352..a65fad39cd 100644
--- a/pmd_rules_ecmascript_errorprone.html
+++ b/pmd_rules_ecmascript_errorprone.html
@@ -1575,7 +1575,7 @@ precision in a floating point number. This may result in numeric calculations b
diff --git a/pmd_rules_java.html b/pmd_rules_java.html
index 900fb3e8ab..7b5a3cb1be 100644
--- a/pmd_rules_java.html
+++ b/pmd_rules_java.html
@@ -2098,7 +2098,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_java_bestpractices.html b/pmd_rules_java_bestpractices.html
index daf1acfcc8..527839952c 100644
--- a/pmd_rules_java_bestpractices.html
+++ b/pmd_rules_java_bestpractices.html
@@ -3872,7 +3872,7 @@ a block
{}
is sufficie
diff --git a/pmd_rules_java_codestyle.html b/pmd_rules_java_codestyle.html
index f9bb31ed16..76c61dc40e 100644
--- a/pmd_rules_java_codestyle.html
+++ b/pmd_rules_java_codestyle.html
@@ -4709,7 +4709,7 @@ by the rule
diff --git a/pmd_rules_java_design.html b/pmd_rules_java_design.html
index c790d0e41b..efc4cf6a36 100644
--- a/pmd_rules_java_design.html
+++ b/pmd_rules_java_design.html
@@ -4116,7 +4116,7 @@ remember to add a private constructor to prevent instantiation.
diff --git a/pmd_rules_java_documentation.html b/pmd_rules_java_documentation.html
index 0e47a6f70d..b2daf8c497 100644
--- a/pmd_rules_java_documentation.html
+++ b/pmd_rules_java_documentation.html
@@ -1764,7 +1764,7 @@ empty methods.
diff --git a/pmd_rules_java_errorprone.html b/pmd_rules_java_errorprone.html
index cd511eaa42..fc7f6eb061 100644
--- a/pmd_rules_java_errorprone.html
+++ b/pmd_rules_java_errorprone.html
@@ -5405,7 +5405,7 @@ Thread.currentThread().getContextClassLoader() instead.
diff --git a/pmd_rules_java_multithreading.html b/pmd_rules_java_multithreading.html
index 4dbcd40900..ec1f0b70c6 100644
--- a/pmd_rules_java_multithreading.html
+++ b/pmd_rules_java_multithreading.html
@@ -1950,7 +1950,7 @@ one is chosen. The thread chosen is arbitrary; thus its usually safer to call n
diff --git a/pmd_rules_java_performance.html b/pmd_rules_java_performance.html
index d95e9c019e..cf06f1789d 100644
--- a/pmd_rules_java_performance.html
+++ b/pmd_rules_java_performance.html
@@ -2578,7 +2578,7 @@ or StringBuffer.toString().length() == …
diff --git a/pmd_rules_java_security.html b/pmd_rules_java_security.html
index 2db26e9f46..ab45fdba20 100644
--- a/pmd_rules_java_security.html
+++ b/pmd_rules_java_security.html
@@ -1501,7 +1501,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp.html b/pmd_rules_jsp.html
index 4f3ef5d7f8..616b680c1c 100644
--- a/pmd_rules_jsp.html
+++ b/pmd_rules_jsp.html
@@ -1510,7 +1510,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_bestpractices.html b/pmd_rules_jsp_bestpractices.html
index 558a771dd7..774b61f4e7 100644
--- a/pmd_rules_jsp_bestpractices.html
+++ b/pmd_rules_jsp_bestpractices.html
@@ -1543,7 +1543,7 @@ little other purpose. Consider switching to JSP comments.
diff --git a/pmd_rules_jsp_codestyle.html b/pmd_rules_jsp_codestyle.html
index 2388d9de56..ab94652391 100644
--- a/pmd_rules_jsp_codestyle.html
+++ b/pmd_rules_jsp_codestyle.html
@@ -1460,7 +1460,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_design.html b/pmd_rules_jsp_design.html
index 1be8d9b683..4299cf9dcf 100644
--- a/pmd_rules_jsp_design.html
+++ b/pmd_rules_jsp_design.html
@@ -1551,7 +1551,7 @@ onload=calcDays;
diff --git a/pmd_rules_jsp_errorprone.html b/pmd_rules_jsp_errorprone.html
index 47b25dad11..1cad74441e 100644
--- a/pmd_rules_jsp_errorprone.html
+++ b/pmd_rules_jsp_errorprone.html
@@ -1472,7 +1472,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_security.html b/pmd_rules_jsp_security.html
index b86c56627b..901938ed63 100644
--- a/pmd_rules_jsp_security.html
+++ b/pmd_rules_jsp_security.html
@@ -1493,7 +1493,7 @@ ${fn:escapeXml(expression)}
<!-- instead, escape it --&g
diff --git a/pmd_rules_modelica.html b/pmd_rules_modelica.html
index 03e9805553..4ea46a8500 100644
--- a/pmd_rules_modelica.html
+++ b/pmd_rules_modelica.html
@@ -1459,7 +1459,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_modelica_bestpractices.html b/pmd_rules_modelica_bestpractices.html
index 04fbcbc2a9..80466ad45b 100644
--- a/pmd_rules_modelica_bestpractices.html
+++ b/pmd_rules_modelica_bestpractices.html
@@ -1535,7 +1535,7 @@ end Example;
diff --git a/pmd_rules_plsql.html b/pmd_rules_plsql.html
index 9dba54914c..de9bf16301 100644
--- a/pmd_rules_plsql.html
+++ b/pmd_rules_plsql.html
@@ -1539,7 +1539,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_bestpractices.html b/pmd_rules_plsql_bestpractices.html
index 8ea9e97d6a..35552aa6b7 100644
--- a/pmd_rules_plsql_bestpractices.html
+++ b/pmd_rules_plsql_bestpractices.html
@@ -1501,7 +1501,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_codestyle.html b/pmd_rules_plsql_codestyle.html
index b60784db34..891697ae8d 100644
--- a/pmd_rules_plsql_codestyle.html
+++ b/pmd_rules_plsql_codestyle.html
@@ -1785,7 +1785,7 @@ https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#BABIIHBJ
diff --git a/pmd_rules_plsql_design.html b/pmd_rules_plsql_design.html
index 3baf055c6f..18323ac953 100644
--- a/pmd_rules_plsql_design.html
+++ b/pmd_rules_plsql_design.html
@@ -2425,7 +2425,7 @@ have more fine grained objects.
diff --git a/pmd_rules_plsql_errorprone.html b/pmd_rules_plsql_errorprone.html
index 730c26c6ca..3d2f638cc8 100644
--- a/pmd_rules_plsql_errorprone.html
+++ b/pmd_rules_plsql_errorprone.html
@@ -1570,7 +1570,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom.html b/pmd_rules_pom.html
index 78725ab545..3427034ed9 100644
--- a/pmd_rules_pom.html
+++ b/pmd_rules_pom.html
@@ -1472,7 +1472,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom_errorprone.html b/pmd_rules_pom_errorprone.html
index ca28e6a864..9a6a3ac3de 100644
--- a/pmd_rules_pom_errorprone.html
+++ b/pmd_rules_pom_errorprone.html
@@ -1541,7 +1541,7 @@ By far the most common problem is the use of ${project.version} in a BOM or pare
diff --git a/pmd_rules_scala.html b/pmd_rules_scala.html
index 1936576200..b5265519fa 100644
--- a/pmd_rules_scala.html
+++ b/pmd_rules_scala.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf.html b/pmd_rules_vf.html
index 7bb66c2084..49fc668ebe 100644
--- a/pmd_rules_vf.html
+++ b/pmd_rules_vf.html
@@ -1473,7 +1473,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf_security.html b/pmd_rules_vf_security.html
index 790aa02afd..8fd9133a49 100644
--- a/pmd_rules_vf_security.html
+++ b/pmd_rules_vf_security.html
@@ -1516,7 +1516,7 @@ on
diff --git a/pmd_rules_vm.html b/pmd_rules_vm.html
index 9304658489..2ae7e3ec99 100644
--- a/pmd_rules_vm.html
+++ b/pmd_rules_vm.html
@@ -1493,7 +1493,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_bestpractices.html b/pmd_rules_vm_bestpractices.html
index f38de3e7c4..836d39a0db 100644
--- a/pmd_rules_vm_bestpractices.html
+++ b/pmd_rules_vm_bestpractices.html
@@ -1469,7 +1469,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_design.html b/pmd_rules_vm_design.html
index f2704af8cd..e02d87e373 100644
--- a/pmd_rules_vm_design.html
+++ b/pmd_rules_vm_design.html
@@ -1583,7 +1583,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_errorprone.html b/pmd_rules_vm_errorprone.html
index 9b3ad3c178..d2b53923c1 100644
--- a/pmd_rules_vm_errorprone.html
+++ b/pmd_rules_vm_errorprone.html
@@ -1469,7 +1469,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml.html b/pmd_rules_xml.html
index 29b8914811..b869a0ffed 100644
--- a/pmd_rules_xml.html
+++ b/pmd_rules_xml.html
@@ -1471,7 +1471,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml_errorprone.html b/pmd_rules_xml_errorprone.html
index 65b0631766..09ecfb94a0 100644
--- a/pmd_rules_xml_errorprone.html
+++ b/pmd_rules_xml_errorprone.html
@@ -1473,7 +1473,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl.html b/pmd_rules_xsl.html
index 2f2beb3a24..7316ef9b96 100644
--- a/pmd_rules_xsl.html
+++ b/pmd_rules_xsl.html
@@ -1479,7 +1479,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_codestyle.html b/pmd_rules_xsl_codestyle.html
index e4123ae68b..f60d07e603 100644
--- a/pmd_rules_xsl_codestyle.html
+++ b/pmd_rules_xsl_codestyle.html
@@ -1464,7 +1464,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_performance.html b/pmd_rules_xsl_performance.html
index 3e542c36e9..8b71cf26c9 100644
--- a/pmd_rules_xsl_performance.html
+++ b/pmd_rules_xsl_performance.html
@@ -1507,7 +1507,7 @@ cutting through 100% of the document.
diff --git a/pmd_userdocs_best_practices.html b/pmd_userdocs_best_practices.html
index 6703498388..8d1265aef3 100644
--- a/pmd_userdocs_best_practices.html
+++ b/pmd_userdocs_best_practices.html
@@ -1476,7 +1476,7 @@ and soon you’ll be fixing problems much faster.
diff --git a/pmd_userdocs_cli_reference.html b/pmd_userdocs_cli_reference.html
index 292c075c5c..bbb6dee600 100644
--- a/pmd_userdocs_cli_reference.html
+++ b/pmd_userdocs_cli_reference.html
@@ -2095,7 +2095,7 @@ All formats are described at PMD Repo
diff --git a/pmd_userdocs_configuring_rules.html b/pmd_userdocs_configuring_rules.html
index ce265d7859..e0a37cc41f 100644
--- a/pmd_userdocs_configuring_rules.html
+++ b/pmd_userdocs_configuring_rules.html
@@ -1502,7 +1502,7 @@ will cause the rule to be ignored.
diff --git a/pmd_userdocs_cpd.html b/pmd_userdocs_cpd.html
index 5e0843613f..624ada9362 100644
--- a/pmd_userdocs_cpd.html
+++ b/pmd_userdocs_cpd.html
@@ -2481,7 +2481,7 @@ the comment based approach will be extended to those of them that can support it
diff --git a/pmd_userdocs_cpd_report_formats.html b/pmd_userdocs_cpd_report_formats.html
index d8979e8251..53fc83f839 100644
--- a/pmd_userdocs_cpd_report_formats.html
+++ b/pmd_userdocs_cpd_report_formats.html
@@ -1653,7 +1653,7 @@ is shown in the console. You can then click on the filenames to jump to the sour
diff --git a/pmd_userdocs_extending_defining_properties.html b/pmd_userdocs_extending_defining_properties.html
index 92af5b1e85..3f275f9b54 100644
--- a/pmd_userdocs_extending_defining_properties.html
+++ b/pmd_userdocs_extending_defining_properties.html
@@ -1652,7 +1652,7 @@ are supported.
diff --git a/pmd_userdocs_extending_designer_reference.html b/pmd_userdocs_extending_designer_reference.html
index 3ed6412595..458c130f0b 100644
--- a/pmd_userdocs_extending_designer_reference.html
+++ b/pmd_userdocs_extending_designer_reference.html
@@ -1691,7 +1691,7 @@ The available language modules are those on the classpath of the app’s JVM. Th
diff --git a/pmd_userdocs_extending_metrics_howto.html b/pmd_userdocs_extending_metrics_howto.html
index b8f1230819..2d5653a0b3 100644
--- a/pmd_userdocs_extending_metrics_howto.html
+++ b/pmd_userdocs_extending_metrics_howto.html
@@ -1777,7 +1777,7 @@ classes. Here’s the default behaviour by language and type of metric:
diff --git a/pmd_userdocs_extending_rule_guidelines.html b/pmd_userdocs_extending_rule_guidelines.html
index 01ccfa7020..3e732890a2 100644
--- a/pmd_userdocs_extending_rule_guidelines.html
+++ b/pmd_userdocs_extending_rule_guidelines.html
@@ -1481,7 +1481,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_testing.html b/pmd_userdocs_extending_testing.html
index 076bf67207..f55751cd44 100644
--- a/pmd_userdocs_extending_testing.html
+++ b/pmd_userdocs_extending_testing.html
@@ -1757,7 +1757,7 @@ will be executed twice.
diff --git a/pmd_userdocs_extending_writing_java_rules.html b/pmd_userdocs_extending_writing_java_rules.html
index 5fb092339f..5d16e7d065 100644
--- a/pmd_userdocs_extending_writing_java_rules.html
+++ b/pmd_userdocs_extending_writing_java_rules.html
@@ -1609,7 +1609,7 @@ the file
diff --git a/pmd_userdocs_extending_writing_pmd_rules.html b/pmd_userdocs_extending_writing_pmd_rules.html
index c563044aa7..ebb54d197e 100644
--- a/pmd_userdocs_extending_writing_pmd_rules.html
+++ b/pmd_userdocs_extending_writing_pmd_rules.html
@@ -1473,7 +1473,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_rules_intro.html b/pmd_userdocs_extending_writing_rules_intro.html
index c2c101b33b..22e2704ecb 100644
--- a/pmd_userdocs_extending_writing_rules_intro.html
+++ b/pmd_userdocs_extending_writing_rules_intro.html
@@ -1591,7 +1591,7 @@ your rule
diff --git a/pmd_userdocs_extending_writing_xpath_rules.html b/pmd_userdocs_extending_writing_xpath_rules.html
index 00ff9c17e3..7f969f3168 100644
--- a/pmd_userdocs_extending_writing_xpath_rules.html
+++ b/pmd_userdocs_extending_writing_xpath_rules.html
@@ -1871,7 +1871,7 @@ deprecated and whose usages should be replaced with uses of
diff --git a/pmd_userdocs_incremental_analysis.html b/pmd_userdocs_incremental_analysis.html
index fc1f4d0ffd..636766ac80 100644
--- a/pmd_userdocs_incremental_analysis.html
+++ b/pmd_userdocs_incremental_analysis.html
@@ -1556,7 +1556,7 @@ same execution classpath).
diff --git a/pmd_userdocs_installation.html b/pmd_userdocs_installation.html
index d5a6b72b79..766a1b7123 100644
--- a/pmd_userdocs_installation.html
+++ b/pmd_userdocs_installation.html
@@ -1616,7 +1616,7 @@ directory or a jar or zip file containing the sources.
diff --git a/pmd_userdocs_making_rulesets.html b/pmd_userdocs_making_rulesets.html
index 1f6e542452..578555c343 100644
--- a/pmd_userdocs_making_rulesets.html
+++ b/pmd_userdocs_making_rulesets.html
@@ -1559,7 +1559,7 @@ a single rule reference.
diff --git a/pmd_userdocs_report_formats.html b/pmd_userdocs_report_formats.html
index ed101a71bb..746afcd246 100644
--- a/pmd_userdocs_report_formats.html
+++ b/pmd_userdocs_report_formats.html
@@ -1822,7 +1822,7 @@ The output directory must exist. If not specified, the html files are created in
diff --git a/pmd_userdocs_suppressing_warnings.html b/pmd_userdocs_suppressing_warnings.html
index aa9b8e126b..abd40ebcc2 100644
--- a/pmd_userdocs_suppressing_warnings.html
+++ b/pmd_userdocs_suppressing_warnings.html
@@ -1660,7 +1660,7 @@ violations you wish to suppress. XPath queries are explained in
diff --git a/pmd_userdocs_tools.html b/pmd_userdocs_tools.html
index d66ee5b5c2..7c9fa95b6f 100644
--- a/pmd_userdocs_tools.html
+++ b/pmd_userdocs_tools.html
@@ -1900,7 +1900,7 @@ the (blank Command Results) document, and then confirming that, “yes, I do rea
diff --git a/pmd_userdocs_tools_ant.html b/pmd_userdocs_tools_ant.html
index 8caa36377e..d18a8745a5 100644
--- a/pmd_userdocs_tools_ant.html
+++ b/pmd_userdocs_tools_ant.html
@@ -1879,7 +1879,7 @@ To prevent this from happening, increase the maximum memory usable by ant using
diff --git a/pmd_userdocs_tools_ci.html b/pmd_userdocs_tools_ci.html
index 24bc5a94ce..fa15a7bd70 100644
--- a/pmd_userdocs_tools_ci.html
+++ b/pmd_userdocs_tools_ci.html
@@ -1466,7 +1466,7 @@ result of the PMD maven plugin.
diff --git a/pmd_userdocs_tools_gradle.html b/pmd_userdocs_tools_gradle.html
index c956415095..5a05a9b53e 100644
--- a/pmd_userdocs_tools_gradle.html
+++ b/pmd_userdocs_tools_gradle.html
@@ -1509,7 +1509,7 @@ with the property
toolVersion
diff --git a/pmd_userdocs_tools_java_api.html b/pmd_userdocs_tools_java_api.html
index ebc7428e5a..e4b420017c 100644
--- a/pmd_userdocs_tools_java_api.html
+++ b/pmd_userdocs_tools_java_api.html
@@ -1684,7 +1684,7 @@ Then you can check the rendered output.
diff --git a/pmd_userdocs_tools_maven.html b/pmd_userdocs_tools_maven.html
index 76971dfbb7..41e413c0df 100644
--- a/pmd_userdocs_tools_maven.html
+++ b/pmd_userdocs_tools_maven.html
@@ -1724,7 +1724,7 @@ the previous paragraph. Add the following property to your project now:
diff --git a/search.json b/search.json
index 0abd749972..e7e35c06f1 100644
--- a/search.json
+++ b/search.json
@@ -135,6 +135,62 @@
+{
+"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 (Ecmascript, Best Practices)",
"tags": "",
@@ -200,127 +256,6 @@
-{
-"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": "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 (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": "Best Practices (Java, Best Practices)",
"tags": "",
@@ -837,46 +772,149 @@
{
-"title": "Best Practices (Java Server Pages, Best Practices)",
+"title": "Best Practices (PLSQL, Best Practices)",
"tags": "",
"keywords": "Best Practices",
-"url": "pmd_rules_jsp_bestpractices.html#best practices",
+"url": "pmd_rules_plsql_bestpractices.html#best practices",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
-"title": "DontNestJsfInJstlIteration (Java Server Pages, Best Practices)",
+"title": "TomKytesDespair (PLSQL, Best Practices)",
"tags": "",
-"keywords": "DontNestJsfInJstlIteration",
-"url": "pmd_rules_jsp_bestpractices.html#dontnestjsfinjstliteration",
+"keywords": "TomKytesDespair",
+"url": "pmd_rules_plsql_bestpractices.html#tomkytesdespair",
+"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": "NoClassAttribute (Java Server Pages, Best Practices)",
+"title": "ApexAssertionsShouldIncludeMessage (Apex, Best Practices)",
"tags": "",
-"keywords": "NoClassAttribute",
-"url": "pmd_rules_jsp_bestpractices.html#noclassattribute",
+"keywords": "ApexAssertionsShouldIncludeMessage",
+"url": "pmd_rules_apex_bestpractices.html#apexassertionsshouldincludemessage",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
-"title": "NoHtmlComments (Java Server Pages, Best Practices)",
+"title": "ApexUnitTestClassShouldHaveAsserts (Apex, Best Practices)",
"tags": "",
-"keywords": "NoHtmlComments",
-"url": "pmd_rules_jsp_bestpractices.html#nohtmlcomments",
+"keywords": "ApexUnitTestClassShouldHaveAsserts",
+"url": "pmd_rules_apex_bestpractices.html#apexunittestclassshouldhaveasserts",
"summary": "Rules which enforce generally accepted best practices."
}
,
{
-"title": "NoJspForward (Java Server Pages, Best Practices)",
+"title": "ApexUnitTestMethodShouldHaveIsTestAnnotation (Apex, Best Practices)",
"tags": "",
-"keywords": "NoJspForward",
-"url": "pmd_rules_jsp_bestpractices.html#nojspforward",
+"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 (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."
}
@@ -937,44 +975,6 @@
-
-
-{
-"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": "Building PMD from source",
"tags": "devdocs",
@@ -1025,6 +1025,35 @@
+{
+"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 (Ecmascript, Code Style)",
"tags": "",
@@ -1126,208 +1155,6 @@
-{
-"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 (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": "Code Style (Java, Code Style)",
"tags": "",
@@ -1925,19 +1752,192 @@
{
-"title": "Code Style (Java Server Pages, Code Style)",
+"title": "Code Style (PLSQL, Code Style)",
"tags": "",
"keywords": "Code Style",
-"url": "pmd_rules_jsp_codestyle.html#code style",
+"url": "pmd_rules_plsql_codestyle.html#code style",
"summary": "Rules which enforce a specific coding style."
}
,
{
-"title": "DuplicateJspImports (Java Server Pages, Code Style)",
+"title": "AvoidTabCharacter (PLSQL, Code Style)",
"tags": "",
-"keywords": "DuplicateJspImports",
-"url": "pmd_rules_jsp_codestyle.html#duplicatejspimports",
+"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": "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."
}
@@ -2063,237 +2063,46 @@
{
-"title": "Design (Apex, Design)",
+"title": "Design (Java Server Pages, Design)",
"tags": "",
"keywords": "Design",
-"url": "pmd_rules_apex_design.html#design",
+"url": "pmd_rules_jsp_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "AvoidDeeplyNestedIfStmts (Apex, Design)",
+"title": "NoInlineScript (Java Server Pages, Design)",
"tags": "",
-"keywords": "AvoidDeeplyNestedIfStmts",
-"url": "pmd_rules_apex_design.html#avoiddeeplynestedifstmts",
+"keywords": "NoInlineScript",
+"url": "pmd_rules_jsp_design.html#noinlinescript",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "CyclomaticComplexity (Apex, Design)",
+"title": "NoInlineStyleInformation (Java Server Pages, Design)",
"tags": "",
-"keywords": "CyclomaticComplexity",
-"url": "pmd_rules_apex_design.html#cyclomaticcomplexity",
+"keywords": "NoInlineStyleInformation",
+"url": "pmd_rules_jsp_design.html#noinlinestyleinformation",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "CognitiveComplexity (Apex, Design)",
+"title": "NoLongScripts (Java Server Pages, Design)",
"tags": "",
-"keywords": "CognitiveComplexity",
-"url": "pmd_rules_apex_design.html#cognitivecomplexity",
+"keywords": "NoLongScripts",
+"url": "pmd_rules_jsp_design.html#nolongscripts",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "ExcessiveClassLength (Apex, Design)",
+"title": "NoScriptlets (Java Server Pages, 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 (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",
+"keywords": "NoScriptlets",
+"url": "pmd_rules_jsp_design.html#noscriptlets",
"summary": "Rules that help you discover design issues."
}
@@ -2762,46 +2571,237 @@
{
-"title": "Design (Java Server Pages, Design)",
+"title": "Design (PLSQL, Design)",
"tags": "",
"keywords": "Design",
-"url": "pmd_rules_jsp_design.html#design",
+"url": "pmd_rules_plsql_design.html#design",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "NoInlineScript (Java Server Pages, Design)",
+"title": "CyclomaticComplexity (PLSQL, Design)",
"tags": "",
-"keywords": "NoInlineScript",
-"url": "pmd_rules_jsp_design.html#noinlinescript",
+"keywords": "CyclomaticComplexity",
+"url": "pmd_rules_plsql_design.html#cyclomaticcomplexity",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "NoInlineStyleInformation (Java Server Pages, Design)",
+"title": "ExcessiveMethodLength (PLSQL, Design)",
"tags": "",
-"keywords": "NoInlineStyleInformation",
-"url": "pmd_rules_jsp_design.html#noinlinestyleinformation",
+"keywords": "ExcessiveMethodLength",
+"url": "pmd_rules_plsql_design.html#excessivemethodlength",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "NoLongScripts (Java Server Pages, Design)",
+"title": "ExcessiveObjectLength (PLSQL, Design)",
"tags": "",
-"keywords": "NoLongScripts",
-"url": "pmd_rules_jsp_design.html#nolongscripts",
+"keywords": "ExcessiveObjectLength",
+"url": "pmd_rules_plsql_design.html#excessiveobjectlength",
"summary": "Rules that help you discover design issues."
}
,
{
-"title": "NoScriptlets (Java Server Pages, Design)",
+"title": "ExcessivePackageBodyLength (PLSQL, Design)",
"tags": "",
-"keywords": "NoScriptlets",
-"url": "pmd_rules_jsp_design.html#noscriptlets",
+"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": "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."
}
@@ -2914,35 +2914,6 @@
-{
-"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": "",
@@ -3006,6 +2977,35 @@
+
+
+{
+"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": "Ecmascript Rules",
"tags": "rule_referencesecmascript",
@@ -3024,6 +3024,35 @@
+{
+"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 (Ecmascript, Error Prone)",
"tags": "",
@@ -3072,174 +3101,19 @@
{
-"title": "Error Prone (Apex, Error Prone)",
+"title": "Error Prone (XML, Error Prone)",
"tags": "",
"keywords": "Error Prone",
-"url": "pmd_rules_apex_errorprone.html#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": "ApexCSRF (Apex, Error Prone)",
+"title": "MistypedCDATASection (XML, 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 (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",
+"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."
}
@@ -4184,64 +4058,6 @@
-{
-"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 (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 (Maven POM, Error Prone)",
"tags": "",
@@ -4280,6 +4096,190 @@
+{
+"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": "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 (VM, Error Prone)",
"tags": "",
@@ -4855,62 +4855,6 @@
-{
-"title": "Performance (Apex, Performance)",
-"tags": "",
-"keywords": "Performance",
-"url": "pmd_rules_apex_performance.html#performance",
-"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": "OperationWithLimitsInLoop (Apex, Performance)",
-"tags": "",
-"keywords": "OperationWithLimitsInLoop",
-"url": "pmd_rules_apex_performance.html#operationwithlimitsinloop",
-"summary": "Rules that flag suboptimal code."
-}
-
-
-
-
-
-,
-
-
-
-
-
-
-
{
"title": "Performance (Java, Performance)",
"tags": "",
@@ -5219,6 +5163,71 @@
+{
+"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": "OperationWithLimitsInLoop (Apex, Performance)",
+"tags": "",
+"keywords": "OperationWithLimitsInLoop",
+"url": "pmd_rules_apex_performance.html#operationwithlimitsinloop",
+"summary": "Rules that flag suboptimal code."
+}
+
+
+
+
+
+,
+
+
+
+
+
+
+
{
"title": "Performance (XSL, Performance)",
"tags": "",
@@ -5458,6 +5467,129 @@
+{
+"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 (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": "Security (Apex, Security)",
"tags": "",
@@ -5575,129 +5707,6 @@
-
-
-{
-"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": "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 (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": "Similar projects",
"tags": "",
diff --git a/sitemap.xml b/sitemap.xml
index 86add08087..7ee95e5acb 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -55,24 +55,18 @@
+
+ https://pmd.github.io/pmd/pmd_rules_jsp_bestpractices.html
+
+
+
+
https://pmd.github.io/pmd/pmd_rules_ecmascript_bestpractices.html
-
- https://pmd.github.io/pmd/pmd_rules_apex_bestpractices.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_plsql_bestpractices.html
-
-
-
-
https://pmd.github.io/pmd/pmd_rules_java_bestpractices.html
@@ -80,13 +74,13 @@
- https://pmd.github.io/pmd/pmd_rules_jsp_bestpractices.html
+ https://pmd.github.io/pmd/pmd_rules_plsql_bestpractices.html
- https://pmd.github.io/pmd/pmd_rules_modelica_bestpractices.html
+ https://pmd.github.io/pmd/pmd_rules_apex_bestpractices.html
@@ -97,6 +91,12 @@
+
+ https://pmd.github.io/pmd/pmd_rules_modelica_bestpractices.html
+
+
+
+
https://pmd.github.io/pmd/pmd_devdocs_building.html
@@ -115,24 +115,18 @@
+
+ https://pmd.github.io/pmd/pmd_rules_jsp_codestyle.html
+
+
+
+
https://pmd.github.io/pmd/pmd_rules_ecmascript_codestyle.html
-
- https://pmd.github.io/pmd/pmd_rules_apex_codestyle.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_plsql_codestyle.html
-
-
-
-
https://pmd.github.io/pmd/pmd_rules_java_codestyle.html
@@ -140,7 +134,13 @@
- https://pmd.github.io/pmd/pmd_rules_jsp_codestyle.html
+ https://pmd.github.io/pmd/pmd_rules_plsql_codestyle.html
+
+
+
+
+
+ https://pmd.github.io/pmd/pmd_rules_apex_codestyle.html
@@ -182,13 +182,7 @@
- https://pmd.github.io/pmd/pmd_rules_apex_design.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_plsql_design.html
+ https://pmd.github.io/pmd/pmd_rules_jsp_design.html
@@ -200,7 +194,13 @@
- https://pmd.github.io/pmd/pmd_rules_jsp_design.html
+ https://pmd.github.io/pmd/pmd_rules_plsql_design.html
+
+
+
+
+
+ https://pmd.github.io/pmd/pmd_rules_apex_design.html
@@ -224,13 +224,13 @@
- https://pmd.github.io/pmd/pmd_rules_apex_documentation.html
+ https://pmd.github.io/pmd/pmd_rules_java_documentation.html
- https://pmd.github.io/pmd/pmd_rules_java_documentation.html
+ https://pmd.github.io/pmd/pmd_rules_apex_documentation.html
@@ -241,48 +241,48 @@
-
- https://pmd.github.io/pmd/pmd_rules_ecmascript_errorprone.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_apex_errorprone.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_plsql_errorprone.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_java_errorprone.html
-
-
-
-
https://pmd.github.io/pmd/pmd_rules_jsp_errorprone.html
+
+ https://pmd.github.io/pmd/pmd_rules_ecmascript_errorprone.html
+
+
+
+
https://pmd.github.io/pmd/pmd_rules_xml_errorprone.html
+
+ https://pmd.github.io/pmd/pmd_rules_java_errorprone.html
+
+
+
+
https://pmd.github.io/pmd/pmd_rules_pom_errorprone.html
+
+ https://pmd.github.io/pmd/pmd_rules_plsql_errorprone.html
+
+
+
+
+
+ https://pmd.github.io/pmd/pmd_rules_apex_errorprone.html
+
+
+
+
https://pmd.github.io/pmd/pmd_rules_vm_errorprone.html
@@ -454,13 +454,13 @@
- https://pmd.github.io/pmd/pmd_rules_apex_performance.html
+ https://pmd.github.io/pmd/pmd_rules_java_performance.html
- https://pmd.github.io/pmd/pmd_rules_java_performance.html
+ https://pmd.github.io/pmd/pmd_rules_apex_performance.html
@@ -552,13 +552,7 @@
- https://pmd.github.io/pmd/pmd_rules_apex_security.html
-
-
-
-
-
- https://pmd.github.io/pmd/pmd_rules_java_security.html
+ https://pmd.github.io/pmd/pmd_rules_vf_security.html
@@ -570,7 +564,13 @@
- https://pmd.github.io/pmd/pmd_rules_vf_security.html
+ https://pmd.github.io/pmd/pmd_rules_java_security.html
+
+
+
+
+
+ https://pmd.github.io/pmd/pmd_rules_apex_security.html
diff --git a/tag_devdocs.html b/tag_devdocs.html
index c2d4e4ce4b..8f90fbe084 100644
--- a/tag_devdocs.html
+++ b/tag_devdocs.html
@@ -1954,7 +1954,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_extending.html b/tag_extending.html
index e18fa49497..84727c517f 100644
--- a/tag_extending.html
+++ b/tag_extending.html
@@ -1978,7 +1978,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_getting_started.html b/tag_getting_started.html
index 1598d54f13..194a30c874 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1912,7 +1912,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_languages.html b/tag_languages.html
index 4efbf78f92..b8576e3818 100644
--- a/tag_languages.html
+++ b/tag_languages.html
@@ -1888,7 +1888,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_metrics.html b/tag_metrics.html
index cdb8b1f46c..55849d6855 100644
--- a/tag_metrics.html
+++ b/tag_metrics.html
@@ -1912,7 +1912,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_release_notes.html b/tag_release_notes.html
index 00314c08b1..60f35a57ec 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1888,7 +1888,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_rule_references.html b/tag_rule_references.html
index 0f4ebebd68..e57cad53e1 100644
--- a/tag_rule_references.html
+++ b/tag_rule_references.html
@@ -1960,7 +1960,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_tools.html b/tag_tools.html
index 1d677c70fc..cd6edf4df6 100644
--- a/tag_tools.html
+++ b/tag_tools.html
@@ -1924,7 +1924,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index e61009bf7c..472146b6fb 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1888,7 +1888,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_userdocs.html b/tag_userdocs.html
index ef1e9f9677..d86e68daf0 100644
--- a/tag_userdocs.html
+++ b/tag_userdocs.html
@@ -2044,7 +2044,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_extending_your_first_rule.html b/pmd_userdocs_extending_your_first_rule.html
index 12383644ff..2647dd264c 100644
--- a/pmd_userdocs_extending_your_first_rule.html
+++ b/pmd_userdocs_extending_your_first_rule.html
@@ -1580,7 +1580,7 @@ of a rule of type XPathRule, which is how XPath rules are implemented.
diff --git a/pmd_devdocs_pmdtester.html b/pmd_devdocs_pmdtester.html
index 2d357dd2f6..b80427e375 100644
--- a/pmd_devdocs_pmdtester.html
+++ b/pmd_devdocs_pmdtester.html
@@ -1463,7 +1463,7 @@ Regression difference reports are commented back to the PR for the reviewer’s