import java.util.*; class Node { String name; Vector connections = new Vector(); Vector /* TLine */ tlines = new Vector(); // tracks if we've visited this node on each TLine // if a line is in the vector, we've not visited yet Vector /* TLine */ unvisited = new Vector(); Node(String name) { this.name = name; } public void addTLine(TLine l) { tlines.add(l); } public String descTLines() { String s=""; for(int i = 0; i < tlines.size(); i++) { TLine tline = ((TLine)tlines.elementAt(i)); if (i != 0) { s = s +", "; } s = s+tline.name; } return "[" + s + "]"; } public void add(Connection c) { connections.add(c); } public void resetVisited() { unvisited = new Vector(); for (int j = 0; j < tlines.size(); j++) unvisited.add((TLine)tlines.elementAt(j)); } public Vector /* Node */ search(Node to, TLine tline, int transfers) { int i, j; if (transfers < 0) return null; boolean okay_to_continue = false; for (i=0; i