Fix checkstyle warnings in netconf-cli
[controller.git] / third-party / net.sf.jung2 / src / main / java / edu / uci / ics / jung / algorithms / util / BasicMapEntry.java
1 package edu.uci.ics.jung.algorithms.util;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 /**
7  * An simple minimal implementation of <code>Map.Entry</code>.
8  *
9  * @param <K> the key type
10  * @param <V> the value type
11  */
12 public class BasicMapEntry<K,V> implements Map.Entry<K,V> {
13     final K key;
14     V value;
15     
16     /**
17      * Create new entry.
18      */
19     public BasicMapEntry(K k, V v) {
20         value = v;
21         key = k;
22     }
23
24     public K getKey() {
25         return key;
26     }
27
28     public V getValue() {
29         return value;
30     }
31
32     public V setValue(V newValue) {
33     V oldValue = value;
34         value = newValue;
35         return oldValue;
36     }
37
38     @SuppressWarnings("unchecked")
39     @Override
40     public boolean equals(Object o) {
41         if (!(o instanceof Map.Entry))
42             return false;
43         Map.Entry e = (Map.Entry)o;
44         Object k1 = getKey();
45         Object k2 = e.getKey();
46         if (k1 == k2 || (k1 != null && k1.equals(k2))) {
47             Object v1 = getValue();
48             Object v2 = e.getValue();
49             if (v1 == v2 || (v1 != null && v1.equals(v2))) 
50                 return true;
51         }
52         return false;
53     }
54
55     @Override
56     public int hashCode() {
57         return (key==null ? 0 : key.hashCode()) ^
58                (value==null   ? 0 : value.hashCode());
59     }
60
61     @Override
62     public String toString() {
63         return getKey() + "=" + getValue();
64     }
65
66     /**
67      * This method is invoked whenever the value in an entry is
68      * overwritten by an invocation of put(k,v) for a key k that's already
69      * in the HashMap.
70      */
71     void recordAccess(HashMap<K,V> m) {
72     }
73
74     /**
75      * This method is invoked whenever the entry is
76      * removed from the table.
77      */
78     void recordRemoval(HashMap<K,V> m) {
79     }
80 }