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

Comparing jsr166/src/test/loops/RLMap.java (file contents):
Revision 1.2 by dl, Mon Feb 19 00:46:06 2007 UTC vs.
Revision 1.6 by jsr166, Sun Oct 21 06:40:21 2012 UTC

# Line 1 | Line 1
1   /*
2   * Written by Doug Lea with assistance from members of JCP JSR-166
3   * Expert Group and released to the public domain, as explained at
4 < * http://creativecommons.org/licenses/publicdomain
4 > * http://creativecommons.org/publicdomain/zero/1.0/
5   */
6  
7   import java.util.*;
8   import java.util.concurrent.*;
9   import java.util.concurrent.locks.*;
10  
11
11   /**
12   * This is an incomplete implementation of a wrapper class
13   * that places read-write locks around unsynchronized Maps.
14   * Exists as a sample input for MapLoops test.
15   */
17
16   public class RLMap implements Map {
17      private final Map m;
18      private final ReentrantLock rl = new ReentrantLock();
19 <    
19 >
20      public RLMap(Map m) {
21          if (m == null)
22              throw new NullPointerException();
23          this.m = m;
24      }
25  
26 <    public RLMap() {
26 >    public RLMap() {
27          this(new TreeMap()); // use TreeMap by default
28      }
29  
30      public int size() {
31          rl.lock(); try {return m.size();} finally { rl.unlock(); }
32      }
33 <    public boolean isEmpty(){
33 >    public boolean isEmpty() {
34          rl.lock(); try {return m.isEmpty();} finally { rl.unlock(); }
35      }
36  
# Line 43 | Line 41 | public class RLMap implements Map {
41      public boolean containsKey(Object key) {
42          rl.lock(); try {return m.containsKey(key);} finally { rl.unlock(); }
43      }
44 <    public boolean containsValue(Object value){
44 >    public boolean containsValue(Object value) {
45          rl.lock(); try {return m.containsValue(value);} finally { rl.unlock(); }
46      }
47  
# Line 51 | Line 49 | public class RLMap implements Map {
49      public Set keySet() { // Not implemented
50          return m.keySet();
51      }
52 <    
52 >
53      public Set entrySet() { // Not implemented
54          return m.entrySet();
55      }
56 <    
56 >
57      public Collection values() { // Not implemented
58          return m.values();
59      }
60 <    
60 >
61      public boolean equals(Object o) {
62          rl.lock(); try {return m.equals(o);} finally { rl.unlock(); }
63      }
# Line 84 | Line 82 | public class RLMap implements Map {
82      public void clear() {
83          rl.lock(); try {m.clear();} finally { rl.unlock(); }
84      }
85 <    
85 >
86   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines