import edu.neu.ccs.demeter.dj.*;
import java.util.*;

public class Cd_graph
{
	public Adj first;
	public Cd_graph(Adj first)
	{
		this.first = first;	
	}

	public void TBRchecker(
	  TraversalGraph defineClassNameTraversal,
	  TraversalGraph allPartsTraversal) {
	    DefinedClassVisitor v1 = new DefinedClassVisitor();

	    // find defined classes
	    Vector definedClasses = 
	      (Vector) defineClassNameTraversal.traverse( this, v1);

	    // check for violations
	    TBRVisitor v2 = new TBRVisitor(definedClasses);
	    allPartsTraversal.traverse(this, v2);
        }

	public void TBRchecker2(
	  ObjectGraphSlice defineClassNameSlice,
	  ObjectGraphSlice allPartsSlice) {
	    DefinedClassVisitor v1 = new DefinedClassVisitor();

	    // find defined classes
	    Vector definedClasses = (Vector) defineClassNameSlice.traverse(v1);

	    // check for violations
	    TBRVisitor v2 = new TBRVisitor(definedClasses);
	    allPartsSlice.traverse(v2);
        }

}
		

