Class AvoidBooleanMethodParametersRule
-
- All Implemented Interfaces:
-
net.sourceforge.pmd.lang.apex.ast.ApexVisitor
,net.sourceforge.pmd.lang.ast.AstVisitor
,net.sourceforge.pmd.lang.rule.Rule
,net.sourceforge.pmd.properties.PropertySource
public class AvoidBooleanMethodParametersRule extends AbstractApexRule
Rule that detects boolean parameters in public and global Apex methods.
Boolean parameters can make method calls difficult to understand and maintain. They often indicate that a method is doing more than one thing and could benefit from being split into separate methods with more descriptive names.
This rule flags any boolean parameters found in public or global methods, encouraging developers to use more expressive alternatives such as enums, separate methods, or configuration objects.
- Since:
7.15.0
-
-
Field Summary
Fields Modifier and Type Field Description public Language
language
public LanguageVersion
minimumLanguageVersion
public LanguageVersion
maximumLanguageVersion
public String
name
public String
since
public String
ruleClass
public String
ruleSetName
public String
message
public String
description
public List<String>
examples
public String
externalInfoUrl
public RulePriority
priority
public final List<PropertyDescriptor<out Object>>
propertyDescriptors
public final static PropertyDescriptor<Optional<Pattern>>
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR
public final static PropertyDescriptor<Optional<String>>
VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
-
Constructor Summary
Constructors Constructor Description AvoidBooleanMethodParametersRule()
-
Method Summary
Modifier and Type Method Description Object
visit(ASTMethod theMethod, Object data)
Visits an Apex method node and checks for boolean global/public parameters. -
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, deepCopy, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getRuleClass, getRuleSetName, getSince, getTargetSelector, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince, start
-
Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
definePropertyDescriptor, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, isPropertyOverridden, setProperty
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
apply, visitNode
-
Methods inherited from class net.sourceforge.pmd.lang.apex.ast.ApexVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitApexNode
-
Methods inherited from class net.sourceforge.pmd.lang.rule.Rule
apply, initialize
-
Methods inherited from class net.sourceforge.pmd.properties.PropertySource
dysfunctionReason
-
Methods inherited from class net.sourceforge.pmd.lang.ast.AstVisitor
cannotVisit, visitNode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-