Source code: com/phoenixst/plexus/DefaultObjectEdge.java
1 /*
2 * $Id: DefaultObjectEdge.java,v 1.1 2003/11/06 21:29:40 rconner Exp $
3 *
4 * Copyright (C) 1994-2003 by Phoenix Software Technologists,
5 * Inc. and others. All rights reserved.
6 *
7 * THIS PROGRAM AND DOCUMENTATION IS PROVIDED UNDER THE TERMS OF THE
8 * COMMON PUBLIC LICENSE ("AGREEMENT") WHICH ACCOMPANIES IT. ANY
9 * USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
10 * RECIPIENT'S ACCEPTANCE OF THE AGREEMENT.
11 *
12 * The license text can also be found at
13 * http://opensource.org/licenses/cpl.php
14 */
15
16 package com.phoenixst.plexus;
17
18
19 /**
20 * A default {@link Graph.Edge} implementation. The {@link #equals
21 * equals()} method is inherited from <code>Object</code> and uses
22 * reference equality. This class should only be used by
23 * <code>Graphs</code> which create edges once and store them.
24 *
25 * @version $Revision: 1.1 $
26 * @author Ray A. Conner
27 *
28 * @since 1.0
29 */
30 public class DefaultObjectEdge extends DefaultEdge
31 {
32
33 /**
34 * The user-defined object contained in this <code>Edge</code>.
35 */
36 protected Object object;
37
38
39 ////////////////////////////////////////
40 // Constructor
41 ////////////////////////////////////////
42
43
44 /**
45 * Creates a new <code>DefaultObjectEdge</code>.
46 */
47 public DefaultObjectEdge( Object object, Object tail, Object head, boolean isDirected )
48 {
49 super( tail, head, isDirected );
50 this.object = object;
51 }
52
53
54 ////////////////////////////////////////
55 // Edge methods
56 ////////////////////////////////////////
57
58
59 public Object getUserObject()
60 {
61 return object;
62 }
63
64
65 public void setUserObject( Object object )
66 {
67 this.object = object;
68 }
69
70
71 ////////////////////////////////////////
72 // Other methods
73 ////////////////////////////////////////
74
75
76 public String toString()
77 {
78 StringBuffer s = new StringBuffer();
79 s.append( "(" );
80 s.append( getTail() );
81 s.append( ")" );
82 s.append( " -- (" );
83 s.append( getUserObject() );
84 s.append( isDirected() ? ") -> " : ") -- " );
85 s.append( "(" );
86 s.append( getHead() );
87 s.append( ")" );
88 return s.toString();
89 }
90
91 }