/* * Copyright (c) 1998-2001 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty * of NON-INFRINGEMENT. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the * Free SoftwareFoundation, Inc. * 59 Temple Place, Suite 330 * Boston, MA 02111-1307 USA * * @author Scott Ferguson */ package com.caucho.web.webmail; import java.util.ArrayList; /* * Represents a single mbox message. */ public class MboxMessage { private int index; private String messageId; private String from; private String subject; private String dateString; private long date; private MboxMessage parent; private MboxMessage root; private ArrayList children; private ArrayList descendants; public MboxMessage(int index) { this.index = index; this.root = this; } public int getIndex() { return index; } public void setMessageId(String id) { this.messageId = id; } public String getMessageId() { return messageId; } public void setFrom(String from) { this.from = from; } public String getFrom() { return from; } public void setSubject(String subject) { this.subject = subject; } public String getSubject() { return subject; } public void setDateString(String date) { dateString = date; } public String getDateString() { return dateString; } public void setDate(long date) { this.date = date; } public long getDate() { return date; } public void setParent(MboxMessage parent) { this.parent = parent; this.root = parent.root; parent.addChild(this); } public void addChild(MboxMessage child) { if (children == null) children = new ArrayList(); children.add(child); if (root.descendants == null) root.descendants = new ArrayList(); root.descendants.add(child); } public ArrayList getChildren() { return children; } public int getChildSize() { if (children == null) return 0; else return children.size(); } public MboxMessage getChild(int index) { return (MboxMessage) children.get(index); } public ArrayList getDescendants() { return descendants; } }