KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > quilt > graph > Exit


1 /* Exit.java */
2
3 package org.quilt.graph;
4
5 import org.quilt.exception.QuiltException;
6
7 /**
8  * An exit vertex in a directed graph. This vertex always has an
9  * index of 1.
10  *
11  * @author <a HREF="jddixon@users.sourceforge.net">Jim Dixon</a>
12  */

13 public class Exit extends Vertex {
14
15     /**
16      * Constructor for the exit vertex for a Quilt directed graph.
17      * This may be a subgraph. Only the entry vertex should use
18      * this constructor.
19      *
20      * @param g Reference to the parent Directed graph.
21      */

22     protected Exit (Directed g) {
23         checkForNull(g, "graph");
24         graph = g;
25         index = g.anotherVertex(this);
26         connector = new UnaryConnector (new Edge(this,this) );
27     }
28
29     // ACCESSOR METHODS /////////////////////////////////////////////
30
/**
31      * Get the connection, back to the entry vertex in a top-level
32      * graph. XXX Perhaps we don't want to implement this.
33      */

34     public Connector getConnector () {
35         return connector;
36     }
37     // CONVENIENCE METHODS //////////////////////////////////////////
38
/** Get the outgoing edge. */
39     public Edge getEdge() {
40         return ((UnaryConnector)connector).getEdge();
41     }
42     /** Get its target. */
43     public Vertex getTarget() {
44         return ((UnaryConnector)connector).getTarget();
45     }
46     /** Set its target. */
47     public void setTarget(Vertex v) {
48         checkForNull (v, "target");
49         if ( graph == v.getGraph() ) {
50             throw new IllegalArgumentException JavaDoc(
51                     "target of exit must be in different graph");
52         }
53         ((UnaryConnector)connector).setTarget(v);
54     }
55     // OTHER METHODS ////////////////////////////////////////////////
56
public String JavaDoc toString () {
57         return "Exit " + super.toString();
58     }
59 }
60
Popular Tags