JavaParserVisitor
, net.sourceforge.pmd.properties.PropertySource
, Rule
public class GenericClassCounterRule extends AbstractJavaRule
A generic rule that can be configured to "count" classes of certain type based on either their name (full name, prefix, suffixes anything can be matched with a regex), and/or their type.
Example of configurations:
<!-- Property order is MANDATORY !!! --> <!-- Several regexes may be provided to ensure a match... --> <property name="nameMatch" description="a regex on which to match" value="^Abstract.*Bean*$,^*EJB*$"/> <!-- An operand to refine match strategy TODO: Not implemented yet !!! --> <property name"operand" description="" value="and"/> <!-- possible values are and/or --> <!-- Must be a full name to ensure type control !!! --> <property name="typeMatch" description="a regex to match on implements/extends classname" value="javax.servlet.Filter"/> <!-- Define after how many occurences one should log a violation --> <property name="threshold" description="Defines how many occurences are legal" value="2"/> <!-- TODO: Add a parameter to allow "ignore" pattern based on name -->
propertyDescriptors, propertyValuesByDescriptor
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
Constructor | Description |
---|---|
GenericClassCounterRule() |
Modifier and Type | Method | Description |
---|---|---|
void |
end(RuleContext ctx) |
|
protected void |
init() |
|
void |
start(RuleContext ctx) |
|
java.lang.Object |
visit(ASTClassOrInterfaceType classType,
java.lang.Object data) |
|
java.lang.Object |
visit(ASTCompilationUnit node,
java.lang.Object data) |
|
java.lang.Object |
visit(ASTImportDeclaration node,
java.lang.Object data) |
apply, getDeclaringType, importsPackage, isQualifiedName, isSuppressed, 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, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAll
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopy, deepCopyValuesTo, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
protected void init()
public void start(RuleContext ctx)
start
in interface Rule
start
in class net.sourceforge.pmd.lang.rule.AbstractRule
public java.lang.Object visit(ASTCompilationUnit node, java.lang.Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
public java.lang.Object visit(ASTImportDeclaration node, java.lang.Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
public java.lang.Object visit(ASTClassOrInterfaceType classType, java.lang.Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
public void end(RuleContext ctx)
end
in interface Rule
end
in class net.sourceforge.pmd.lang.rule.AbstractRule
Copyright © 2002–2018 PMD. All rights reserved.