1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.james.mailrepository.javamail;
21
22 import javax.mail.FetchProfile;
23 import javax.mail.Flags;
24 import javax.mail.Folder;
25 import javax.mail.Message;
26 import javax.mail.MessagingException;
27 import javax.mail.Store;
28 import javax.mail.URLName;
29 import javax.mail.event.ConnectionListener;
30 import javax.mail.event.FolderListener;
31 import javax.mail.event.MessageChangedListener;
32 import javax.mail.event.MessageCountListener;
33 import javax.mail.search.SearchTerm;
34
35
36
37
38
39
40 public class FolderAdapter implements FolderInterface {
41
42 protected Folder folder;
43
44
45
46
47
48
49 public FolderAdapter(Folder folder) {
50 this.folder=folder;
51 }
52
53
54
55
56 public void addConnectionListener(ConnectionListener l) {
57 folder.addConnectionListener(l);
58 }
59
60
61
62
63 public void addFolderListener(FolderListener l) {
64 folder.addFolderListener(l);
65 }
66
67
68
69
70 public void addMessageChangedListener(MessageChangedListener l) {
71 folder.addMessageChangedListener(l);
72 }
73
74
75
76
77 public void addMessageCountListener(MessageCountListener l) {
78 folder.addMessageCountListener(l);
79 }
80
81
82
83
84 public void appendMessages(Message[] msgs) throws MessagingException {
85 folder.appendMessages(msgs);
86 }
87
88
89
90
91 public void close(boolean expunge) throws MessagingException {
92 folder.close(expunge);
93 }
94
95
96
97
98 public void copyMessages(Message[] msgs, Folder folder) throws MessagingException {
99 this.folder.copyMessages(msgs, folder);
100 }
101
102
103
104
105 public boolean create(int type) throws MessagingException {
106 return folder.create(type);
107 }
108
109
110
111
112 public boolean delete(boolean recurse) throws MessagingException {
113 return folder.delete(recurse);
114 }
115
116
117
118
119 public boolean equals(Object obj) {
120 return folder.equals(obj);
121 }
122
123
124
125
126 public boolean exists() throws MessagingException {
127 return folder.exists();
128 }
129
130
131
132
133 public Message[] expunge() throws MessagingException {
134 return folder.expunge();
135 }
136
137
138
139
140 public void fetch(Message[] msgs, FetchProfile fp) throws MessagingException {
141 folder.fetch(msgs, fp);
142 }
143
144
145
146
147 public int getDeletedMessageCount() throws MessagingException {
148 return folder.getDeletedMessageCount();
149 }
150
151
152
153
154 public Folder getFolder(String name) throws MessagingException {
155 return folder.getFolder(name);
156 }
157
158
159
160
161 public String getFullName() {
162
163 String fn=folder.getFullName();
164 if (fn.length()>1) {
165 if (fn.charAt(0)=='.') {
166 fn=fn.substring(1);
167 }
168 }
169 return fn;
170 }
171
172
173
174
175 public Message getMessage(int msgnum) throws MessagingException {
176 return folder.getMessage(msgnum);
177 }
178
179
180
181
182 public int getMessageCount() throws MessagingException {
183 return folder.getMessageCount();
184 }
185
186
187
188
189 public Message[] getMessages() throws MessagingException {
190 return folder.getMessages();
191 }
192
193
194
195
196 public Message[] getMessages(int start, int end) throws MessagingException {
197 return folder.getMessages(start, end);
198 }
199
200
201
202
203 public Message[] getMessages(int[] msgnums) throws MessagingException {
204 return folder.getMessages(msgnums);
205 }
206
207
208
209
210 public int getMode() {
211 return folder.getMode();
212 }
213
214
215
216
217 public String getName() {
218 return folder.getName();
219 }
220
221
222
223
224 public int getNewMessageCount() throws MessagingException {
225 return folder.getNewMessageCount();
226 }
227
228
229
230
231
232 public Folder getParent() throws MessagingException {
233 return folder.getParent();
234 }
235
236
237
238
239 public Flags getPermanentFlags() {
240 return folder.getPermanentFlags();
241 }
242
243
244
245
246 public char getSeparator() throws MessagingException {
247 return folder.getSeparator();
248 }
249
250
251
252
253 public Store getStore() {
254 return folder.getStore();
255 }
256
257
258
259
260 public int getType() throws MessagingException {
261 return folder.getType();
262 }
263
264
265
266
267 public int getUnreadMessageCount() throws MessagingException {
268 return folder.getUnreadMessageCount();
269 }
270
271
272
273
274 public URLName getURLName() throws MessagingException {
275 return folder.getURLName();
276 }
277
278
279
280
281 public int hashCode() {
282 return folder.hashCode();
283 }
284
285
286
287
288 public boolean hasNewMessages() throws MessagingException {
289 return folder.hasNewMessages();
290 }
291
292
293
294
295 public boolean isOpen() {
296 return folder.isOpen();
297 }
298
299
300
301
302 public boolean isSubscribed() {
303 return folder.isSubscribed();
304 }
305
306
307
308
309 public Folder[] list() throws MessagingException {
310 return folder.list();
311 }
312
313
314
315
316 public FolderInterface[] list(String pattern) throws MessagingException {
317 return wrapFolders(folder.list(pattern));
318 }
319
320
321
322
323 public Folder[] listSubscribed() throws MessagingException {
324 return folder.listSubscribed();
325 }
326
327
328
329
330 public Folder[] listSubscribed(String pattern) throws MessagingException {
331 return folder.listSubscribed(pattern);
332 }
333
334
335
336
337 public void open(int mode) throws MessagingException {
338 folder.open(mode);
339 }
340
341
342
343
344 public void removeConnectionListener(ConnectionListener l) {
345 folder.removeConnectionListener(l);
346 }
347
348
349
350
351 public void removeFolderListener(FolderListener l) {
352 folder.removeFolderListener(l);
353 }
354
355
356
357
358 public void removeMessageChangedListener(MessageChangedListener l) {
359 folder.removeMessageChangedListener(l);
360 }
361
362
363
364
365 public void removeMessageCountListener(MessageCountListener l) {
366 folder.removeMessageCountListener(l);
367 }
368
369
370
371
372 public boolean renameTo(Folder f) throws MessagingException {
373 return folder.renameTo(f);
374 }
375
376
377
378
379 public Message[] search(SearchTerm term, Message[] msgs) throws MessagingException {
380 return folder.search(term, msgs);
381 }
382
383
384
385
386 public Message[] search(SearchTerm term) throws MessagingException {
387 return folder.search(term);
388 }
389
390
391
392
393 public void setFlags(int start, int end, Flags flag, boolean value) throws MessagingException {
394 folder.setFlags(start, end, flag, value);
395 }
396
397
398
399
400 public void setFlags(int[] msgnums, Flags flag, boolean value) throws MessagingException {
401 folder.setFlags(msgnums, flag, value);
402 }
403
404
405
406
407 public void setFlags(Message[] msgs, Flags flag, boolean value) throws MessagingException {
408 folder.setFlags(msgs, flag, value);
409 }
410
411
412
413
414 public void setSubscribed(boolean subscribe) throws MessagingException {
415 folder.setSubscribed(subscribe);
416 }
417
418
419
420
421 public String toString() {
422 return folder.toString();
423 }
424
425
426
427
428
429
430
431 protected FolderInterface wrapFolder(Folder folder) {
432 return new FolderAdapter(folder);
433 }
434
435
436
437
438 protected FolderInterface[] wrapFolders(Folder[] folders) {
439 FolderInterface[] fis=new FolderInterface[folders.length];
440 for (int i = 0; i < folders.length; i++) {
441 fis[i]=wrapFolder(folders[i]);
442
443 }
444 return fis;
445 }
446 }