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

Comparing jsr166/src/test/loops/SCollection.java (file contents):
Revision 1.2 by jsr166, Thu Oct 29 23:09:08 2009 UTC vs.
Revision 1.5 by jsr166, Thu Jan 15 18:34:19 2015 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   import java.util.*;
7   import java.util.concurrent.*;
8   import java.util.concurrent.locks.*;
9  
10
10   /**
11   * This is an incomplete implementation of a wrapper class
12   * that places read-write locks around unsynchronized Collections.
13   * Exists as a sample input for CollectionLoops test.
14   */
16
15   public final class SCollection<E> implements Collection<E> {
16      private final Collection c;
17      private final ReentrantLock l = new ReentrantLock();
# Line 29 | Line 27 | public final class SCollection<E> implem
27      }
28  
29      public final int size() {
30 <        l.lock(); try {return c.size();} finally { l.unlock(); }
30 >        l.lock();
31 >        try { return c.size(); }
32 >        finally { l.unlock(); }
33      }
34 <    public final boolean isEmpty(){
35 <        l.lock(); try {return c.isEmpty();} finally { l.unlock(); }
34 >
35 >    public final boolean isEmpty() {
36 >        l.lock();
37 >        try { return c.isEmpty(); }
38 >        finally { l.unlock(); }
39      }
40  
41      public final boolean contains(Object o) {
42 <        l.lock(); try {return c.contains(o);} finally { l.unlock(); }
42 >        l.lock();
43 >        try { return c.contains(o); }
44 >        finally { l.unlock(); }
45      }
46  
47      public final boolean equals(Object o) {
48 <        l.lock(); try {return c.equals(o);} finally { l.unlock(); }
48 >        l.lock();
49 >        try { return c.equals(o); }
50 >        finally { l.unlock(); }
51      }
52 +
53      public final int hashCode() {
54 <        l.lock(); try {return c.hashCode();} finally { l.unlock(); }
54 >        l.lock();
55 >        try { return c.hashCode(); }
56 >        finally { l.unlock(); }
57      }
58 +
59      public final String toString() {
60 <        l.lock(); try {return c.toString();} finally { l.unlock(); }
60 >        l.lock();
61 >        try { return c.toString(); }
62 >        finally { l.unlock(); }
63      }
64  
65      public final Iterator<E> iterator() {
66 <        l.lock(); try {return c.iterator();} finally { l.unlock(); }
66 >        l.lock();
67 >        try { return c.iterator(); }
68 >        finally { l.unlock(); }
69      }
70  
71      public final Object[] toArray() {
72 <        l.lock(); try  {return c.toArray();} finally { l.unlock(); }
72 >        l.lock();
73 >        try { return c.toArray(); }
74 >        finally { l.unlock(); }
75      }
76 +
77      public final <T> T[] toArray(T[] a) {
78 <        l.lock(); try  {return (T[])c.toArray(a);} finally { l.unlock(); }
78 >        l.lock();
79 >        try { return (T[])c.toArray(a); }
80 >        finally { l.unlock(); }
81      }
82  
83      public final boolean add(E e) {
84 <        l.lock(); try  {return c.add(e);} finally { l.unlock(); }
84 >        l.lock();
85 >        try { return c.add(e); }
86 >        finally { l.unlock(); }
87      }
88 +
89      public final boolean remove(Object o) {
90 <        l.lock(); try  {return c.remove(o);} finally { l.unlock(); }
90 >        l.lock();
91 >        try { return c.remove(o); }
92 >        finally { l.unlock(); }
93      }
94  
95      public final boolean containsAll(Collection<?> coll) {
96 <        l.lock(); try  {return c.containsAll(coll);} finally { l.unlock(); }
96 >        l.lock();
97 >        try { return c.containsAll(coll); }
98 >        finally { l.unlock(); }
99      }
100 +
101      public final boolean addAll(Collection<? extends E> coll) {
102 <        l.lock(); try  {return c.addAll(coll);} finally { l.unlock(); }
102 >        l.lock();
103 >        try { return c.addAll(coll); }
104 >        finally { l.unlock(); }
105      }
106 +
107      public final boolean removeAll(Collection<?> coll) {
108 <        l.lock(); try  {return c.removeAll(coll);} finally { l.unlock(); }
108 >        l.lock();
109 >        try { return c.removeAll(coll); }
110 >        finally { l.unlock(); }
111      }
112 +
113      public final boolean retainAll(Collection<?> coll) {
114 <        l.lock(); try  {return c.retainAll(coll);} finally { l.unlock(); }
114 >        l.lock();
115 >        try { return c.retainAll(coll); }
116 >        finally { l.unlock(); }
117      }
118 +
119      public final void clear() {
120 <        l.lock(); try  {c.clear();} finally { l.unlock(); }
120 >        l.lock();
121 >        try { c.clear(); }
122 >        finally { l.unlock(); }
123      }
124  
125   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines