public class LoosePackageCouplingRule extends AbstractJavaRule
For example, supposed you have the following package hierarchy:
org.sample
org.sample.impl
org.sample.util
org.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 and Description |
---|---|
static StringMultiProperty |
CLASSES_DESCRIPTOR |
static StringMultiProperty |
PACKAGES_DESCRIPTOR |
propertyDescriptors, propertyValuesByDescriptor
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
Constructor and Description |
---|
LoosePackageCouplingRule() |
Modifier and Type | Method and Description |
---|---|
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) |
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
addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopyValuesTo, end, 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, start, usesDFA, usesRuleChain, usesTypeResolution
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
definePropertyDescriptor, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues
public static final StringMultiProperty PACKAGES_DESCRIPTOR
public static final StringMultiProperty CLASSES_DESCRIPTOR
public Object visit(ASTCompilationUnit node, Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
public Object visit(ASTPackageDeclaration node, Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
public Object visit(ASTImportDeclaration node, Object data)
visit
in interface JavaParserVisitor
visit
in class AbstractJavaRule
protected boolean isAllowedClass(ASTImportDeclaration node)
public boolean checksNothing()
public String dysfunctionReason()
dysfunctionReason
in interface PropertySource
dysfunctionReason
in class AbstractPropertySource
PropertySource.dysfunctionReason()
Copyright © 2002-2015 InfoEther. All Rights Reserved.