JavaParserVisitor, net.sourceforge.pmd.properties.PropertySource, Rulepublic 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, propertyValuesByDescriptorVIOLATION_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, visitAllcopyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValuesaddExample, 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, usesTypeResolutionclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitdefinePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValuesprotected void init()
public void start(RuleContext ctx)
start in interface Rulestart in class net.sourceforge.pmd.lang.rule.AbstractRulepublic java.lang.Object visit(ASTCompilationUnit node, java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic java.lang.Object visit(ASTImportDeclaration node, java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic java.lang.Object visit(ASTClassOrInterfaceType classType, java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic void end(RuleContext ctx)
end in interface Ruleend in class net.sourceforge.pmd.lang.rule.AbstractRuleCopyright © 2002–2018 PMD. All rights reserved.