OSDN Git Service

CVS最新版の全ファイルを追加
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / fetch / impl / sk_jp / PlainPartExtractor.java
1 /*\r
2  * @(#) $Id: PlainPartExtractor.java,v 1.1.2.1 2004/09/29 00:57:59 otsuka Exp $\r
3  * $Revision: 1.1.2.1 $\r
4  * Copyright (c) 2000 Shin Kinoshita All Rights Reserved.\r
5  */\r
6 package com.ozacc.mail.fetch.impl.sk_jp;\r
7 \r
8 import java.io.IOException;\r
9 \r
10 import javax.mail.MessagingException;\r
11 import javax.mail.Part;\r
12 import javax.mail.internet.ContentType;\r
13 import javax.mail.internet.MimeMessage;\r
14 \r
15 /**\r
16  * text/plainを結合した文字列を得るPartHandlerです。\r
17  * \r
18  * @version $Revision: 1.1.2.1 $ $Date: 2004/09/29 00:57:59 $\r
19  * @author Shin\r
20  */\r
21 public class PlainPartExtractor implements PartHandler {\r
22 \r
23         private String text = null;\r
24 \r
25         public boolean processPart(Part part, ContentType context) throws MessagingException,\r
26                                                                                                                                 IOException {\r
27                 if (!part.isMimeType("text/plain")) {\r
28                         return true;\r
29                 }\r
30                 if (text == null) {\r
31                         // 最初のテキストパートを無条件に抽出\r
32                         text = (String)MultipartUtility.getContent(part);\r
33                 } else {\r
34                         String disposition = part.getDisposition();\r
35                         if (disposition == null || disposition.equalsIgnoreCase(Part.INLINE)) {\r
36                                 text += "\r\n\r\n-- inline --\r\n\r\n" + (String)MultipartUtility.getContent(part);\r
37                         }\r
38                 }\r
39                 return true;\r
40         }\r
41 \r
42         public String getText() {\r
43                 return text;\r
44         }\r
45 \r
46         public static void main(String[] args) throws Exception {\r
47                 MimeMessage msg = new MimeMessage(javax.mail.Session.getDefaultInstance(System\r
48                                 .getProperties(), null), System.in);\r
49                 PlainPartExtractor h = new PlainPartExtractor();\r
50                 MultipartUtility.process(msg, h);\r
51 \r
52                 System.out.println("This is the detected text/plain parts.");\r
53                 System.out.println(h.getText());\r
54         }\r
55 }