KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > message > ColumbaMessage


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.message;
19
20 import org.columba.ristretto.io.Source;
21 import org.columba.ristretto.message.Header;
22 import org.columba.ristretto.message.Message;
23 import org.columba.ristretto.message.MimePart;
24 import org.columba.ristretto.message.MimeTree;
25
26 /**
27  * Adds Columba-specific features to the default {@link Message}object found in
28  * the Ristretto API.
29  * <p>
30  *
31  * @author fdietz, tstich
32  */

33 public class ColumbaMessage implements IColumbaMessage {
34
35     protected IColumbaHeader columbaHeader;
36
37     protected Message message;
38
39     protected MimePart bodyPart;
40
41     public ColumbaMessage() {
42         this(new ColumbaHeader());
43     }
44
45     public ColumbaMessage(IColumbaHeader header) {
46         columbaHeader = header;
47         message = new Message();
48
49     }
50
51     public ColumbaMessage(Message m) {
52         columbaHeader = new ColumbaHeader(m.getHeader());
53         message = m;
54
55     }
56
57     public ColumbaMessage(Header header) {
58         columbaHeader = new ColumbaHeader(header);
59         message = new Message();
60         message.setHeader(header);
61
62     }
63
64     public ColumbaMessage(IColumbaHeader h, Message m) {
65         columbaHeader = h;
66
67         columbaHeader.setHeader(m.getHeader());
68         message = m;
69     }
70
71     public ColumbaMessage(ColumbaMessage m) {
72         this.columbaHeader = m.columbaHeader;
73
74         this.message = m.message;
75         this.bodyPart = m.bodyPart;
76     }
77
78     public void setBodyPart(MimePart body) {
79         bodyPart = body;
80     }
81
82     public void setUID(Object JavaDoc o) {
83         if (o != null) {
84             columbaHeader.getAttributes().put("columba.uid", o);
85         } else {
86             columbaHeader.getAttributes().put("columba.uid", "");
87         }
88
89         //uid = o;
90
}
91
92     public Object JavaDoc getUID() {
93         return getHeader().getAttributes().get("columba.uid");
94     }
95
96     public MimeTree getMimePartTree() {
97         return message.getMimePartTree();
98     }
99
100     public void setMimePartTree(MimeTree ac) {
101         message.setMimePartTree(ac);
102     }
103
104     public void freeMemory() {
105     }
106
107     /*
108      * (non-Javadoc)
109      *
110      * @see org.columba.ristretto.message.Message#getHeader()
111      */

112     public IColumbaHeader getHeader() {
113         return columbaHeader;
114     }
115
116     /*
117      * (non-Javadoc)
118      *
119      * @see org.columba.ristretto.message.Message#setHeader(org.columba.ristretto.message.Header)
120      */

121     public void setHeader(IColumbaHeader h) {
122         columbaHeader = h;
123     }
124
125     /*
126      * (non-Javadoc)
127      *
128      * @see org.columba.ristretto.message.Message#getBodyPart()
129      */

130     public MimePart getBodyPart() {
131         return bodyPart;
132     }
133
134     /*
135      * (non-Javadoc)
136      *
137      * @see org.columba.ristretto.message.Message#getMimePart(int)
138      */

139     public MimePart getMimePart(int number) {
140         return message.getMimePart(number);
141     }
142
143     /*
144      * (non-Javadoc)
145      *
146      * @see org.columba.ristretto.message.Message#getMimePartCount()
147      */

148     public int getMimePartCount() {
149         return message.getMimePartCount();
150     }
151
152     /*
153      * (non-Javadoc)
154      *
155      * @see org.columba.ristretto.message.Message#getSource()
156      */

157     public Source getSource() {
158         return message.getSource();
159     }
160
161     /*
162      * (non-Javadoc)
163      *
164      * @see org.columba.ristretto.message.Message#setHeader(org.columba.ristretto.message.Header)
165      */

166     public void setHeader(Header h) {
167         message.setHeader(h);
168     }
169
170     /*
171      * (non-Javadoc)
172      *
173      * @see org.columba.ristretto.message.Message#setSource(org.columba.ristretto.message.io.Source)
174      */

175     public void setSource(Source source) {
176         message.setSource(source);
177     }
178
179     public void close() {
180         message.close();
181     }
182 }
Popular Tags