View Javadoc

1   package net.sf.crispy.util;
2   
3   import java.util.Collection;
4   import java.util.Map;
5   
6   
7   public class Edge {
8   
9   	public Object from = null;
10  	public Object to = null;
11  	public String methodName = null;
12  	
13  	public Edge(Object pvFrom, Object pvTo) {
14  		from = pvFrom;
15  		to = pvTo;
16  	}
17  		
18  	public Object getFrom() { return from; }
19  	public Object getTo() { return to; }
20  	
21  	public void setMethodName(String pvMethodName) { methodName = pvMethodName; }
22  	public String getMethodName() { return methodName; }
23  	
24  	public boolean equals(Object pvObj) {
25  		boolean b = false;
26  		if (pvObj instanceof Edge) {
27  			Edge myEdge = (Edge) pvObj;
28  			if ((myEdge.getFrom() == null) || (myEdge.getTo() == null)) {
29  				b = false;
30  			} else {
31  				if (isCollectionOrMap(from) == false && isCollectionOrMap(to) == false) { 
32  					b = ((myEdge.getFrom().equals(from)) && (myEdge.getTo().equals(to)));
33  				} 
34  			}
35  		} 
36  		return b;
37  	}
38  	
39  	private boolean isCollectionOrMap(Object pvObject) {
40  		boolean b = false;
41  		if (pvObject instanceof Collection) {
42  			b = true;
43  		}
44  		else if (pvObject instanceof Map) {
45  			b = true;
46  		}
47  		return b;
48  	}
49  	
50  	public int hashCode() {
51  		return from.hashCode() + to.hashCode();
52  	}
53  	
54  	public String toString() {
55  		return " Edge: " + from + " (" + from.hashCode() + "/" + to.hashCode() + ") -> " + to + (methodName == null ? "--" : " " + methodName );
56  	}
57  	
58  }