jdepend.framework

Class 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));
 }
 
Authors:
Mike Clark
Clarkware Consulting, Inc.

Constructor Summary

DependencyConstraint()

Method Summary

JavaPackage
addPackage(String packageName)
void
addPackage(JavaPackage jPackage)
Collection
getPackages()
boolean
match(Collection expectedPackages)
Indicates whether the specified packages match the packages in this constraint.

Constructor Details

DependencyConstraint

public DependencyConstraint()

Method Details

addPackage

public JavaPackage addPackage(String packageName)

addPackage

public void addPackage(JavaPackage jPackage)

getPackages

public Collection getPackages()

match

public boolean match(Collection expectedPackages)
Indicates whether the specified packages match the packages in this constraint.
Returns:
true if the packages match this constraint

Copyright B) 1999-2005 Clarkware Consulting, Inc.