OSDN Git Service

ディレクトリ構成を Maven 2 標準にすることで pom.xml を簡略化
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / fetch / impl / sk_jp / MultipartUtility.java
diff --git a/src/java/com/ozacc/mail/fetch/impl/sk_jp/MultipartUtility.java b/src/java/com/ozacc/mail/fetch/impl/sk_jp/MultipartUtility.java
deleted file mode 100755 (executable)
index 95ab8cb..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*\r
- * @(#) $Id: MultipartUtility.java,v 1.1.2.2 2004/10/24 10:26:50 otsuka Exp $\r
- * $Revision: 1.1.2.2 $\r
- * Copyright (c) 2000 Shin Kinoshita All Rights Reserved.\r
- */\r
-package com.ozacc.mail.fetch.impl.sk_jp;\r
-\r
-import java.io.IOException;\r
-import java.io.UnsupportedEncodingException;\r
-\r
-import javax.activation.DataHandler;\r
-import javax.mail.MessagingException;\r
-import javax.mail.Multipart;\r
-import javax.mail.Part;\r
-import javax.mail.internet.ContentType;\r
-import javax.mail.internet.MimeBodyPart;\r
-import javax.mail.internet.MimeMultipart;\r
-\r
-/**\r
- * メッセージボディを取り出す手段を提供するstaticメソッドのセットです。\r
- * <p>\r
- * </p>\r
- * @version $Revision: 1.1.2.2 $ $Date: 2004/10/24 10:26:50 $\r
- * @author Shin\r
- * @author Tomohiro Otsuka\r
- */\r
-public class MultipartUtility {\r
-\r
-       private static final String JIS_CHARSET = "ISO-2022-JP";\r
-\r
-       /**\r
-        * 指定パートのボディを返します。\r
-        * <P>\r
-        * Part#getContent()の代わりです。\r
-        * MIMEに準拠しないContent-Type:の補正を行います。\r
-        * charset指定がない場合は"ISO-2022-JP"を補います。\r
-        * </P><P>\r
-        * パートがUTF-7の場合も正常に内容を取得出来ます。\r
-        * </P>\r
-        */\r
-       public static Object getContent(Part part) throws MessagingException, IOException {\r
-               return getContent(part, JIS_CHARSET);\r
-       }\r
-\r
-       private static CorrectedContentTypeDataSource correctedDataSource = new CorrectedContentTypeDataSourceUTF7Support();\r
-\r
-       private static DataHandler correctedDataHandler = new DataHandler(correctedDataSource);\r
-\r
-       /**\r
-        * 指定パートのボディを返します。\r
-        * <P>\r
-        * MIMEに準拠しないContent-Type:の補正を行います。\r
-        * charset指定がない場合はcharsetで指定されたもので補います。\r
-        * </P><P>\r
-        * パートがUTF-7の場合も正常に内容を取得出来ます。\r
-        * </P>\r
-        */\r
-       public static Object getContent(Part part, String charset) throws MessagingException,\r
-                                                                                                                               IOException {\r
-               synchronized (correctedDataSource) {\r
-\r
-                       correctedDataSource.setPart(part);\r
-                       try {\r
-                               correctedDataSource.setDefaultCharset(charset);\r
-                               return correctedDataHandler.getContent();\r
-                       } catch (UnsupportedEncodingException e) {\r
-                               /*\r
-                                * 不正な文字コードがcharsetにセットされ例外がスローされた場合に\r
-                                * JIS_CHARSETに文字コードを置き換え、再度ホディの取得を試みます。\r
-                                * \r
-                                * by otsuka\r
-                                */\r
-                               correctedDataSource.setForceCharset(JIS_CHARSET);\r
-                               return correctedDataHandler.getContent();\r
-                       }\r
-\r
-               }\r
-       }\r
-\r
-       /**\r
-        * 指定パート配下で最初に見つけたテキストパートのボディを返します。\r
-        * process()を呼び出して結果を返すだけのconvenience methodです。\r
-        */\r
-       public static String getFirstPlainText(Part part) throws MessagingException {\r
-               FirstPlainPartExtractor h = new FirstPlainPartExtractor();\r
-               process(part, h);\r
-               return h.getText();\r
-       }\r
-\r
-       /**\r
-        * 指定パート配下のinlineなテキストパートを集めて表示用のボディを返します。\r
-        * process()を呼び出して結果を返すだけのconvenience methodです。\r
-        */\r
-       public static String getPlainText(Part part) throws MessagingException {\r
-               PlainPartExtractor h = new PlainPartExtractor();\r
-               process(part, h);\r
-               return h.getText();\r
-       }\r
-\r
-       /**\r
-        * 指定パート配下の各パートを処理します。\r
-        * <P>\r
-        * すべてのPartに対してPartHandlerが呼び出されます。<BR>\r
-        * </P>\r
-        */\r
-       public static void process(Part part, PartHandler handler) throws MessagingException {\r
-               process(part, handler, null);\r
-       }\r
-\r
-       private static boolean process(Part part, PartHandler handler, ContentType context)\r
-                                                                                                                                                                               throws MessagingException {\r
-               try {\r
-                       if (part.isMimeType("multipart/*")) {\r
-                               Multipart mp = (Multipart)part.getContent();\r
-                               ContentType cType = new ContentType(part.getContentType());\r
-                               for (int i = 0; i < mp.getCount(); i++) {\r
-                                       if (!process(mp.getBodyPart(i), handler, cType)) {\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               return true;\r
-                       }\r
-                       return handler.processPart(part, context);\r
-               } catch (IOException e) {\r
-                       throw new MessagingException("Got exception \nin " + part + "\n", e);\r
-               }\r
-       }\r
-\r
-       /**\r
-        * 指定partにbodyPartを追加します。\r
-        * partがマルチパーとコンテナの場合はそのコンテナにbodyPartを追加します。\r
-        * そうでない場合はpartのボディとしてmultipart/mixedのコンテナを設定し、\r
-        * 元のpartのボディとbodyPartのボディをそのコンテナに追加します。\r
-        */\r
-       public static void addBodyPart(Part part, MimeBodyPart bodyPart) throws MessagingException,\r
-                                                                                                                                       IOException {\r
-               if (part.isMimeType("multipart/*")) {\r
-                       ((MimeMultipart)part.getContent()).addBodyPart(bodyPart);\r
-                       return;\r
-               }\r
-               // 仮\r
-               MimeMultipart mp = new MimeMultipart("mixed");\r
-               MimeBodyPart original = new MimeBodyPart();\r
-               original.setContent(part.getContent(), part.getContentType());\r
-               mp.addBodyPart(original);\r
-               mp.addBodyPart(bodyPart);\r
-               part.setContent(mp);\r
-       }\r
-\r
-       /**\r
-        * partのツリー構造をダンプするデバッグ用メソッドです。\r
-        */\r
-       public static void dump(Part part) {\r
-               dump(part, 0);\r
-       }\r
-\r
-       private static void dump(Part part, int layer) {\r
-               for (int i = 0; i < layer; i++) {\r
-                       System.out.print("    ");\r
-               }\r
-               try {\r
-                       System.out.println(part.getClass() + ":" + part.getContentType());\r
-                       if (part.isMimeType("multipart/*")) {\r
-                               MimeMultipart mp = (MimeMultipart)part.getContent();\r
-                               for (int i = 0; i < mp.getCount(); i++) {\r
-                                       dump(mp.getBodyPart(i), layer + 1);\r
-                               }\r
-                       }\r
-               } catch (Exception e) {\r
-                       e.printStackTrace();\r
-               }\r
-       }\r
-}
\ No newline at end of file