jdepend.framework
Class DependencyConstraint
java.lang.Object
jdepend.framework.DependencyConstraint
public class DependencyConstraint
extends java.lang.Object
The
DependencyConstraint
class is a constraint
that tests whether two package-dependency graphs are
equivalent.
This class is useful for writing package dependency
assertions (e.g. JUnit). For example, the following
JUnit test will ensure that the 'ejb' and 'web' packages
only depend upon the 'util' package, and no others:
public void testDependencyConstraint() {
JDepend jdepend = new JDepend();
jdepend.addDirectory("/path/to/classes");
Collection analyzedPackages = jdepend.analyze();
DependencyConstraint constraint = new DependencyConstraint();
JavaPackage ejb = constraint.addPackage("com.xyz.ejb");
JavaPackage web = constraint.addPackage("com.xyz.web");
JavaPackage util = constraint.addPackage("com.xyz.util");
ejb.dependsUpon(util);
web.dependsUpon(util);
assertEquals("Dependency mismatch",
true, constraint.match(analyzedPackages));
}
- Mike Clark (mike@clarkware.com)
- Clarkware Consulting, Inc.
JavaPackage | addPackage(String packageName) - Adds the specified Java package to the
constraint, creating it if necessary.
|
void | addPackage(JavaPackage jPackage) - Adds the specified Java package to the
constraint.
|
Collection | getPackages() - Returns the constraint packages.
|
boolean | match(Collection expectedPackages) - Indicates whether the specified packages match
the packages in this constraint.
|
DependencyConstraint
public DependencyConstraint()
Constructs a DependencyConstraint
instance.
addPackage
public JavaPackage addPackage(String packageName)
Adds the specified Java package to the
constraint, creating it if necessary.
packageName
- Java package name.
addPackage
public void addPackage(JavaPackage jPackage)
Adds the specified Java package to the
constraint.
getPackages
public Collection getPackages()
Returns the constraint packages.
match
public boolean match(Collection expectedPackages)
Indicates whether the specified packages match
the packages in this constraint.
true
if the packages
match this constraint
Copyright B) 1999-2003 Clarkware Consulting, Inc.