|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sourceforge.pmd.AbstractPropertySource
net.sourceforge.pmd.lang.rule.AbstractRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
net.sourceforge.pmd.lang.java.rule.coupling.LoosePackageCouplingRule
public class LoosePackageCouplingRule
The loose package coupling Rule can be used to ensure coupling outside of a package hierarchy is minimized to all but an allowed set of classes from within the package hierarchy.
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.
| Field Summary | |
|---|---|
static StringMultiProperty |
CLASSES_DESCRIPTOR
|
static StringMultiProperty |
PACKAGES_DESCRIPTOR
|
| Fields inherited from class net.sourceforge.pmd.AbstractPropertySource |
|---|
propertyDescriptors, propertyValuesByDescriptor |
| Fields inherited from interface net.sourceforge.pmd.Rule |
|---|
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR |
| Constructor Summary | |
|---|---|
LoosePackageCouplingRule()
|
|
| Method Summary | |
|---|---|
boolean |
checksNothing()
|
String |
dysfunctionReason()
|
protected List<String> |
getRestrictedPackages()
|
protected boolean |
isAllowedClass(ASTImportDeclaration node)
|
protected boolean |
isContainingPackage(String pkg1,
String pkg2)
|
Object |
visit(ASTCompilationUnit node,
Object data)
|
Object |
visit(ASTImportDeclaration node,
Object data)
|
Object |
visit(ASTPackageDeclaration node,
Object data)
|
| Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule |
|---|
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, visitAll |
| Methods inherited from class net.sourceforge.pmd.AbstractPropertySource |
|---|
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface net.sourceforge.pmd.PropertySource |
|---|
definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues |
| Field Detail |
|---|
public static final StringMultiProperty PACKAGES_DESCRIPTOR
public static final StringMultiProperty CLASSES_DESCRIPTOR
| Constructor Detail |
|---|
public LoosePackageCouplingRule()
| Method Detail |
|---|
public Object visit(ASTCompilationUnit node,
Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRule
public Object visit(ASTPackageDeclaration node,
Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRule
public Object visit(ASTImportDeclaration node,
Object data)
visit in interface JavaParserVisitorvisit in class AbstractJavaRuleprotected List<String> getRestrictedPackages()
protected boolean isContainingPackage(String pkg1,
String pkg2)
protected boolean isAllowedClass(ASTImportDeclaration node)
public boolean checksNothing()
public String dysfunctionReason()
dysfunctionReason in interface PropertySourcedysfunctionReason in class AbstractPropertySourcePropertySource.dysfunctionReason()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||