// behavior file Main { public static void main(String args[]) throws Exception {{ Input m = Input.parse(System.in); ClassGraph cg = new ClassGraph(true, false); TraversalGraph tg = new TraversalGraph( "{Input -> B B -> D Input -> C C -> D}", cg); // System.out.println(cg); // System.out.println(tg); cg.traverse(m,"{Input->T T->D}", new Visitor() { public void before(A h){System.out.println(" new A-Object ");} public void before(R h){System.out.println(" before R ");} public void before(S h){System.out.println(" before S ");} public void before(C h){System.out.println(" before C ");} public void before(T h){System.out.println(" before T ");} }); System.out.println("bypassing"); cg.traverse(m,"from Input bypassing T to T", new Visitor() { public void before(A h){System.out.println(" new A-Object ");} public void before(R h){System.out.println(" before R ");} public void before(S h){System.out.println(" before S ");} public void before(C h){System.out.println(" before C ");} public void before(T h){System.out.println(" before T ");} }); System.out.println("to-stop"); cg.traverse(m,"from Input to-stop T ", new Visitor() { public void before(A h){System.out.println(" new A-Object ");} public void before(R h){System.out.println(" before R ");} public void before(S h){System.out.println(" before S ");} public void before(C h){System.out.println(" before C ");} public void before(T h){System.out.println(" before T ");} }); }} }