KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > mail > imap > protocol > BODY


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  */

21
22 /*
23  * @(#)BODY.java 1.7 05/08/29
24  *
25  * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved.
26  */

27
28 package com.sun.mail.imap.protocol;
29
30 import java.io.ByteArrayInputStream JavaDoc;
31 import com.sun.mail.iap.*;
32 import com.sun.mail.util.ASCIIUtility;
33
34 /**
35  * The BODY fetch response item.
36  *
37  * @version 1.7, 05/08/29
38  * @author John Mani
39  */

40
41 public class BODY implements Item {
42     
43     public static char [] name = {'B','O','D','Y'};
44
45     public int msgno;
46     public ByteArray data;
47     public String JavaDoc section;
48     public int origin = 0;
49
50     /**
51      * Constructor
52      */

53     public BODY(FetchResponse r) throws ParsingException {
54     msgno = r.getNumber();
55
56     r.skipSpaces();
57
58     int b;
59     while ((b = r.readByte()) != ']') { // skip section
60
if (b == 0)
61         throw new ParsingException(
62             "BODY parse error: missing ``]'' at section end");
63     }
64
65     
66     if (r.readByte() == '<') { // origin
67
origin = r.readNumber();
68         r.skip(1); // skip '>';
69
}
70
71     data = r.readByteArray();
72     }
73
74     public ByteArray getByteArray() {
75     return data;
76     }
77
78     public ByteArrayInputStream JavaDoc getByteArrayInputStream() {
79     if (data != null)
80         return data.toByteArrayInputStream();
81     else
82         return null;
83     }
84 }
85
Popular Tags