OSDN Git Service

CVS最新版の全ファイルを追加
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / fetch / impl / sk_jp / JISDataSource.java
1 /*\r
2  * @(#) $Id: JISDataSource.java,v 1.1.2.1 2005/01/18 07:20: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.ByteArrayInputStream;\r
9 import java.io.IOException;\r
10 import java.io.InputStream;\r
11 import java.io.OutputStream;\r
12 import java.io.UnsupportedEncodingException;\r
13 \r
14 import javax.activation.DataSource;\r
15 \r
16 import com.ozacc.mail.fetch.impl.sk_jp.io.CharCodeConverter;\r
17 import com.ozacc.mail.fetch.impl.sk_jp.io.UnicodeCorrector;\r
18 \r
19 /**\r
20  * テキストの本文を送信するための DataSource です。\r
21  */\r
22 public class JISDataSource implements DataSource {\r
23 \r
24         private byte[] data;\r
25 \r
26         public JISDataSource(String s) {\r
27                 try {\r
28                         data = CharCodeConverter.sjisToJis(UnicodeCorrector.getInstance("Windows-31J").correct(\r
29                                         s).getBytes("Windows-31J"));\r
30                 } catch (UnsupportedEncodingException e) {\r
31                         throw new RuntimeException("CANT HAPPEN");\r
32                 }\r
33         }\r
34 \r
35         public String getContentType() {\r
36                 return "text/plain; charset=ISO-2022-JP";\r
37         }\r
38 \r
39         public InputStream getInputStream() throws IOException {\r
40                 if (data == null)\r
41                         throw new IOException("no data");\r
42                 return new ByteArrayInputStream(data);\r
43         }\r
44 \r
45         public OutputStream getOutputStream() throws IOException {\r
46                 throw new IOException("cannot do this");\r
47         }\r
48 \r
49         public String getName() {\r
50                 return "dummy";\r
51         }\r
52 }