KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > util > mail > StringDataSource


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23  
24 package org.infoglue.cms.util.mail;
25
26 import java.io.ByteArrayInputStream JavaDoc;
27 import java.io.IOException JavaDoc;
28 import java.io.InputStream JavaDoc;
29 import java.io.OutputStream JavaDoc;
30 import java.io.UnsupportedEncodingException JavaDoc;
31
32 import javax.activation.DataSource JavaDoc;
33
34 /**
35  * A simple DataSource implementation
36  */

37
38 public class StringDataSource implements DataSource JavaDoc
39 {
40     private byte[] data;
41     private String JavaDoc type;
42     private String JavaDoc encoding;
43     
44     public StringDataSource(String JavaDoc data, String JavaDoc type)
45     {
46         try
47         {
48             this.data = data.getBytes("iso-8859-1");
49         }
50         catch (UnsupportedEncodingException JavaDoc uex)
51         {
52         }
53         
54         this.type = type;
55     }
56
57     public StringDataSource(String JavaDoc data, String JavaDoc type, String JavaDoc encoding)
58     {
59         try
60         {
61             this.data = data.getBytes(encoding);
62         }
63         catch (UnsupportedEncodingException JavaDoc uex)
64         {
65         }
66         
67         this.type = type;
68         this.encoding = encoding;
69     }
70
71     public InputStream JavaDoc getInputStream() throws IOException JavaDoc
72     {
73         if (data == null)
74             throw new IOException JavaDoc("no data");
75
76         return new ByteArrayInputStream JavaDoc(data);
77     }
78
79     public OutputStream JavaDoc getOutputStream() throws IOException JavaDoc
80     {
81         throw new IOException JavaDoc("cannot do this");
82     }
83
84     public String JavaDoc getContentType()
85     {
86         return type;
87     }
88
89     public String JavaDoc getName()
90     {
91         return "dummy";
92     }
93 }
Popular Tags