ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/RWMap.java
(Generate patch)

Comparing jsr166/src/test/loops/RWMap.java (file contents):
Revision 1.5 by jsr166, Thu Oct 29 23:09:08 2009 UTC vs.
Revision 1.6 by jsr166, Sat Oct 16 16:22:57 2010 UTC

# Line 13 | Line 13 | import java.util.concurrent.locks.*;
13   * that places read-write locks around unsynchronized Maps.
14   * Exists as a sample input for MapLoops test.
15   */
16
16   public class RWMap implements Map {
17      private final Map m;
18      private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
# Line 31 | Line 30 | public class RWMap implements Map {
30  
31      public int size() {
32          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
33 <        l.lock(); try {return m.size();} finally { l.unlock(); }
33 >        l.lock();
34 >        try { return m.size(); }
35 >        finally { l.unlock(); }
36      }
37 <    public boolean isEmpty(){
37 >
38 >    public boolean isEmpty() {
39          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
40 <        l.lock(); try {return m.isEmpty();} finally { l.unlock(); }
40 >        l.lock();
41 >        try { return m.isEmpty(); }
42 >        finally { l.unlock(); }
43      }
44  
45      public Object get(Object key) {
46          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
47 <        l.lock(); try {return m.get(key);} finally { l.unlock(); }
47 >        l.lock();
48 >        try { return m.get(key); }
49 >        finally { l.unlock(); }
50      }
51  
52      public boolean containsKey(Object key) {
53          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
54 <        l.lock(); try {return m.containsKey(key);} finally { l.unlock(); }
54 >        l.lock();
55 >        try { return m.containsKey(key); }
56 >        finally { l.unlock(); }
57      }
58 <    public boolean containsValue(Object value){
58 >
59 >    public boolean containsValue(Object value) {
60          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
61 <        l.lock(); try {return m.containsValue(value);} finally { l.unlock(); }
61 >        l.lock();
62 >        try { return m.containsValue(value); }
63 >        finally { l.unlock(); }
64      }
65  
55
66      public Set keySet() { // Not implemented
67          return m.keySet();
68      }
# Line 67 | Line 77 | public class RWMap implements Map {
77  
78      public boolean equals(Object o) {
79          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
80 <        l.lock(); try {return m.equals(o);} finally { l.unlock(); }
80 >        l.lock();
81 >        try { return m.equals(o); }
82 >        finally { l.unlock(); }
83      }
84 +
85      public int hashCode() {
86          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
87 <        l.lock(); try {return m.hashCode();} finally { l.unlock(); }
87 >        l.lock();
88 >        try { return m.hashCode(); }
89 >        finally { l.unlock(); }
90      }
91 +
92      public String toString() {
93          ReentrantReadWriteLock.ReadLock l =  rwl.readLock();
94 <        l.lock(); try {return m.toString();} finally { l.unlock(); }
94 >        l.lock();
95 >        try { return m.toString(); }
96 >        finally { l.unlock(); }
97      }
98  
81
82
99      public Object put(Object key, Object value) {
100          ReentrantReadWriteLock.WriteLock l =  rwl.writeLock();
101 <        l.lock(); try {return m.put(key, value);} finally { l.unlock(); }
101 >        l.lock();
102 >        try { return m.put(key, value); }
103 >        finally { l.unlock(); }
104      }
105 +
106      public Object remove(Object key) {
107          ReentrantReadWriteLock.WriteLock l =  rwl.writeLock();
108 <        l.lock(); try {return m.remove(key);} finally { l.unlock(); }
108 >        l.lock();
109 >        try { return m.remove(key); }
110 >        finally { l.unlock(); }
111      }
112 +
113      public void putAll(Map map) {
114          ReentrantReadWriteLock.WriteLock l =  rwl.writeLock();
115 <        l.lock(); try {m.putAll(map);} finally { l.unlock(); }
115 >        l.lock();
116 >        try { m.putAll(map); }
117 >        finally { l.unlock(); }
118      }
119 +
120      public void clear() {
121          ReentrantReadWriteLock.WriteLock l =  rwl.writeLock();
122 <        l.lock(); try {m.clear();} finally { l.unlock(); }
122 >        l.lock();
123 >        try { m.clear(); }
124 >        finally { l.unlock(); }
125      }
126  
127   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines