001: /*
002: * Copyright (c) 1998-2001 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: * Free SoftwareFoundation, Inc.
023: * 59 Temple Place, Suite 330
024: * Boston, MA 02111-1307 USA
025: *
026: * @author Scott Ferguson
027: */
028:
029: package com.caucho.web.webmail;
030:
031: import java.util.ArrayList;
032:
033: /*
034: * Represents a single mbox message.
035: */
036: public class MboxMessage {
037: private int index;
038:
039: private String messageId;
040:
041: private String from;
042: private String subject;
043: private String dateString;
044: private long date;
045:
046: private MboxMessage parent;
047: private MboxMessage root;
048:
049: private ArrayList children;
050: private ArrayList descendants;
051:
052: public MboxMessage(int index) {
053: this .index = index;
054:
055: this .root = this ;
056: }
057:
058: public int getIndex() {
059: return index;
060: }
061:
062: public void setMessageId(String id) {
063: this .messageId = id;
064: }
065:
066: public String getMessageId() {
067: return messageId;
068: }
069:
070: public void setFrom(String from) {
071: this .from = from;
072: }
073:
074: public String getFrom() {
075: return from;
076: }
077:
078: public void setSubject(String subject) {
079: this .subject = subject;
080: }
081:
082: public String getSubject() {
083: return subject;
084: }
085:
086: public void setDateString(String date) {
087: dateString = date;
088: }
089:
090: public String getDateString() {
091: return dateString;
092: }
093:
094: public void setDate(long date) {
095: this .date = date;
096: }
097:
098: public long getDate() {
099: return date;
100: }
101:
102: public void setParent(MboxMessage parent) {
103: this .parent = parent;
104: this .root = parent.root;
105:
106: parent.addChild(this );
107: }
108:
109: public void addChild(MboxMessage child) {
110: if (children == null)
111: children = new ArrayList();
112:
113: children.add(child);
114:
115: if (root.descendants == null)
116: root.descendants = new ArrayList();
117:
118: root.descendants.add(child);
119: }
120:
121: public ArrayList getChildren() {
122: return children;
123: }
124:
125: public int getChildSize() {
126: if (children == null)
127: return 0;
128: else
129: return children.size();
130: }
131:
132: public MboxMessage getChild(int index) {
133: return (MboxMessage) children.get(index);
134: }
135:
136: public ArrayList getDescendants() {
137: return descendants;
138: }
139: }
|