JavaParserVisitor, net.sourceforge.pmd.lang.rule.ImmutableLanguage, net.sourceforge.pmd.properties.PropertySource, net.sourceforge.pmd.Rulepublic class LoosePackageCouplingRule extends AbstractJavaRule
For example, supposed you have the following package hierarchy:
org.sampleorg.sample.implorg.sample.utilorg.sample.SampleInterface.
This rule can be used to ensure that all classes within the
org.sample package and its sub-packages are not used outside of
the org.sample package hierarchy. Further, the only allowed
usage outside of a class in the org.sample hierarchy would be
via org.sample.SampleInterface.
| Modifier and Type | Field | Description |
|---|---|---|
static net.sourceforge.pmd.properties.StringMultiProperty |
CLASSES_DESCRIPTOR |
|
static net.sourceforge.pmd.properties.StringMultiProperty |
PACKAGES_DESCRIPTOR |
| Constructor | Description |
|---|---|
LoosePackageCouplingRule() |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
checksNothing() |
|
java.lang.String |
dysfunctionReason() |
|
protected java.util.List<java.lang.String> |
getRestrictedPackages() |
|
protected boolean |
isAllowedClass(ASTImportDeclaration node) |
|
protected boolean |
isContainingPackage(java.lang.String pkg1,
java.lang.String pkg2) |
|
java.lang.Object |
visit(ASTCompilationUnit node,
java.lang.Object data) |
|
java.lang.Object |
visit(ASTImportDeclaration node,
java.lang.Object data) |
|
java.lang.Object |
visit(ASTPackageDeclaration 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, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValuesaddExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopy, deepCopyValuesTo, end, 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, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolutionpublic static final net.sourceforge.pmd.properties.StringMultiProperty PACKAGES_DESCRIPTOR
public static final net.sourceforge.pmd.properties.StringMultiProperty CLASSES_DESCRIPTOR
public java.lang.Object visit(ASTCompilationUnit node, java.lang.Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRulepublic java.lang.Object visit(ASTPackageDeclaration 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 AbstractJavaRuleprotected java.util.List<java.lang.String> getRestrictedPackages()
protected boolean isContainingPackage(java.lang.String pkg1,
java.lang.String pkg2)
protected boolean isAllowedClass(ASTImportDeclaration node)
public boolean checksNothing()
public java.lang.String dysfunctionReason()
dysfunctionReason in interface net.sourceforge.pmd.properties.PropertySourcedysfunctionReason in class net.sourceforge.pmd.properties.AbstractPropertySourcePropertySource.dysfunctionReason()Copyright © 2002–2018 PMD. All rights reserved.