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));
     }
     

    Author:
    Mike Clark, Clarkware Consulting, Inc.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      JavaPackage addPackage​(java.lang.String packageName)  
      void addPackage​(JavaPackage jPackage)  
      java.util.Collection getPackages()  
      boolean match​(java.util.Collection expectedPackages)
      Indicates whether the specified packages match the packages in this constraint.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DependencyConstraint

        public DependencyConstraint()
    • Method Detail

      • addPackage

        public JavaPackage addPackage​(java.lang.String packageName)
      • addPackage

        public void addPackage​(JavaPackage jPackage)
      • getPackages

        public java.util.Collection getPackages()
      • match

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