ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/loops/SMap.java
Revision: 1.7
Committed: Thu Jan 15 18:34:19 2015 UTC (9 years, 4 months ago) by jsr166
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +0 -3 lines
Log Message:
delete extraneous blank lines

File Contents

# User Rev Content
1 dl 1.2 /*
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 jsr166 1.5 * http://creativecommons.org/publicdomain/zero/1.0/
5 dl 1.2 */
6 dl 1.1 import java.util.*;
7     import java.util.concurrent.*;
8     import java.util.concurrent.locks.*;
9    
10     /**
11     * This is an incomplete implementation of a wrapper class
12     * that places read-write locks around unsynchronized Maps.
13     * Exists as a sample input for MapLoops test.
14     */
15     public class SMap implements Map {
16     private final Map m;
17     public SMap(Map m) {
18     if (m == null)
19     throw new NullPointerException();
20     this.m = m;
21     }
22    
23 jsr166 1.3 public SMap() {
24 dl 1.1 this(new TreeMap()); // use TreeMap by default
25     }
26    
27     public synchronized int size() {
28     return m.size();
29     }
30 jsr166 1.4 public synchronized boolean isEmpty() {
31 dl 1.1 return m.isEmpty();
32     }
33    
34     public synchronized Object get(Object key) {
35     return m.get(key);
36     }
37    
38     public synchronized boolean containsKey(Object key) {
39     return m.containsKey(key);
40     }
41 jsr166 1.4 public synchronized boolean containsValue(Object value) {
42 dl 1.1 return m.containsValue(value);
43     }
44    
45     public synchronized Set keySet() { // Not implemented
46     return m.keySet();
47     }
48 jsr166 1.3
49 dl 1.1 public synchronized Set entrySet() { // Not implemented
50     return m.entrySet();
51     }
52 jsr166 1.3
53 dl 1.1 public synchronized Collection values() { // Not implemented
54     return m.values();
55     }
56 jsr166 1.3
57 dl 1.1 public synchronized boolean equals(Object o) {
58     return m.equals(o);
59     }
60     public synchronized int hashCode() {
61     return m.hashCode();
62     }
63     public synchronized String toString() {
64     return m.toString();
65     }
66    
67     public synchronized Object put(Object key, Object value) {
68     return m.put(key, value);
69     }
70     public synchronized Object remove(Object key) {
71     return m.remove(key);
72     }
73     public synchronized void putAll(Map map) {
74     m.putAll(map);
75     }
76     public synchronized void clear() {
77     m.clear();
78     }
79 jsr166 1.3
80 dl 1.1 }