1 public interface Graph {
3 public abstract Node createNode(Object obj);
5 public abstract boolean addNode(Node node);
7 public abstract boolean removeNode(Node node);
9 public abstract boolean containsNode(Node node);
11 public abstract Node getRandom();
13 public abstract boolean addNeighbor(Node node, Node node1);
15 public abstract boolean removeNeighbor(Node node, Node node1);
17 public abstract boolean hasNeighbor(Node node, Node node1);
19 public abstract Iterator getInNeighbors(Node node);
21 public abstract int getInNeighborsSize(Node node);
23 public abstract Iterator getOutNeighbors(Node node);
25 public abstract int getOutNeighborsSize(Node node);
27 public abstract int getNumNodes();
29 public abstract Object getNodeData(Node node);
31 public abstract Object setNodeData(Node node, Object obj);
33 public abstract boolean isDirected();
35 public abstract Iterator iterator();