SoftHashMap.java
biz/hammurapi/cache/SoftHashMap.java
Violations
Inspector |
Message |
Severity |
Location |
Java Inspector 048 |
Copyrights information should be present in each file. |
1 |
|
Java Inspector 086 |
Use equals() instead of == or != to compare objects. |
1 |
73:29
|
Java Inspector 089 |
Undocumented constructor |
2 |
43:9
|
Java Inspector 089 |
Undocumented constructor |
2 |
47:9
|
Java Inspector 089 |
Undocumented constructor |
2 |
51:9
|
Java Inspector 089 |
Undocumented constructor |
2 |
55:9
|
Java Inspector 089 |
Undocumented method |
2 |
59:9
|
Java Inspector 089 |
Undocumented method |
2 |
63:9
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23package biz.hammurapi.cache;
24
25import java.lang.ref.Reference;
26import java.lang.ref.SoftReference;
27import java.util.HashMap;
28import java.util.Map;
29
30
31
32
33
34
35public class SoftHashMap extends HashMap {
36 private Object nullMarker=new Object();
37
38
39
40
41 private static final long serialVersionUID = 4095082501213777588L;
42
43 public SoftHashMap() {
44 super();
45 }
46
47 public SoftHashMap(int initialCapacity) {
48 super(initialCapacity);
49 }
50
51 public SoftHashMap(int initialCapacity, float loadFactor) {
52 super(initialCapacity, loadFactor);
53 }
54
55 public SoftHashMap(Map m) {
56 super(m);
57 }
58
59 public Object put(Object key, Object value) {
60 return super.put(key, new SoftReference(value==null ? nullMarker : value));
61 }
62
63 public Object get(Object key) {
64 Reference ref = (Reference) super.get(key);
65 if (ref==null) {
66 return null;
67 }
68
69 Object value = ref.get();
70 if (value==null) {
71 remove(key);
72 }
73 return value==nullMarker ? null : value;
74 }
75
76}
77