public class MailFolder extends MailboxItem
1:
2: package mail;
3:
4: import java.util.*;
5:
6: public class MailFolder extends MailboxItem {
7:
8: public MailFolder(String name) {
9: super(name, null);
10: }
11:
12: public MailFolder(String name, MailFolder owner) {
13: super(name, owner);
14: }
15:
16: public List getItems() {
17: return items;
18: }
19:
20: public List getSubFolders() {
21: List folders = new ArrayList();
22: Iterator iterator = items.iterator();
23: while (iterator.hasNext()) {
24: Object item = iterator.next();
25: if (item instanceof MailFolder) {
26: folders.add(item);
27: }
28: }
29: return folders;
30: }
31:
32: public List getMails() {
33: List mails = new ArrayList();
34: Iterator iterator = items.iterator();
35: while (iterator.hasNext()) {
36: Object item = iterator.next();
37: if (item instanceof Mail) {
38: mails.add(item);
39: }
40: }
41: return mails;
42: }
43:
44: public void add(MailboxItem item) {
45: items.add(item);
46: item.setOwner(this);
47: }
48:
49: public void add(MailboxItem[] items) {
50: if (items != null) {
51: for (int i = 0; i < items.length; i++) {
52: add(items[i]);
53: }
54: }
55: }
56:
57: public int count() {
58: int count = 0;
59: Iterator iterator = items.iterator();
60: while (iterator.hasNext()) {
61: Object item = iterator.next();
62: if (item instanceof MailboxItem) {
63: count += ((MailboxItem) item).count();
64: }
65: }
66: return count;
67: }
68:
69: public int countNewMail() {
70: int count = 0;
71: Iterator iterator = items.iterator();
72: while (iterator.hasNext()) {
73: Object item = iterator.next();
74: if (item instanceof MailboxItem) {
75: count += ((MailboxItem) item).countNewMail();
76: }
77: }
78: return count;
79: }
80:
81: protected List items = new ArrayList();
82:
83: }