Source of MailFolder.java


  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: }