1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.util;
21
22 import java.io.Serializable;
23 import java.util.Collection;
24 import java.util.Iterator;
25 import java.util.Queue;
26
27
28
29
30
31
32
33 public class SynchronizedQueue<E> implements Queue<E>, Serializable {
34
35 private static final long serialVersionUID = -1439242290701194806L;
36
37 private final Queue<E> q;
38
39 public SynchronizedQueue(Queue<E> q) {
40 this.q = q;
41 }
42
43 public synchronized boolean add(E e) {
44 return q.add(e);
45 }
46
47 public synchronized E element() {
48 return q.element();
49 }
50
51 public synchronized boolean offer(E e) {
52 return q.offer(e);
53 }
54
55 public synchronized E peek() {
56 return q.peek();
57 }
58
59 public synchronized E poll() {
60 return q.poll();
61 }
62
63 public synchronized E remove() {
64 return q.remove();
65 }
66
67 public synchronized boolean addAll(Collection<? extends E> c) {
68 return q.addAll(c);
69 }
70
71 public synchronized void clear() {
72 q.clear();
73 }
74
75 public synchronized boolean contains(Object o) {
76 return q.contains(o);
77 }
78
79 public synchronized boolean containsAll(Collection<?> c) {
80 return q.containsAll(c);
81 }
82
83 public synchronized boolean isEmpty() {
84 return q.isEmpty();
85 }
86
87 public synchronized Iterator<E> iterator() {
88 return q.iterator();
89 }
90
91 public synchronized boolean remove(Object o) {
92 return q.remove(o);
93 }
94
95 public synchronized boolean removeAll(Collection<?> c) {
96 return q.removeAll(c);
97 }
98
99 public synchronized boolean retainAll(Collection<?> c) {
100 return q.retainAll(c);
101 }
102
103 public synchronized int size() {
104 return q.size();
105 }
106
107 public synchronized Object[] toArray() {
108 return q.toArray();
109 }
110
111 public synchronized <T> T[] toArray(T[] a) {
112 return q.toArray(a);
113 }
114
115 @Override
116 public synchronized boolean equals(Object obj) {
117 return q.equals(obj);
118 }
119
120 @Override
121 public synchronized int hashCode() {
122 return q.hashCode();
123 }
124
125 @Override
126 public synchronized String toString() {
127 return q.toString();
128 }
129 }