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, propertyValuesByDescriptorVIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR| Constructor and Description |
|---|
GenericClassCounterRule() |
| Modifier and Type | Method and Description |
|---|---|
void |
end(RuleContext ctx) |
protected void |
init() |
void |
start(RuleContext ctx) |
Object |
visit(ASTClassOrInterfaceType classType,
Object data) |
Object |
visit(ASTCompilationUnit node,
Object data) |
Object |
visit(ASTImportDeclaration node,
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, visitAlladdExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopyValuesTo, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, usesDFA, usesRuleChain, usesTypeResolutioncopyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValuesclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitdefinePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValuesprotected void init()
public void start(RuleContext ctx)
start in interface Rulestart in class AbstractRulepublic Object visit(ASTCompilationUnit node, Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic Object visit(ASTImportDeclaration node, Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic Object visit(ASTClassOrInterfaceType classType, Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic void end(RuleContext ctx)
end in interface Ruleend in class AbstractRuleCopyright © 2002–2017 PMD. All rights reserved.