KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tigris > scarab > services > email > EmailService


1 package org.tigris.scarab.services.email;
2
3 /* ====================================================================
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 2001 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution,
22  * if any, must include the following acknowledgment:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowledgment may appear in the software itself,
26  * if and wherever such third-party acknowledgments normally appear.
27  *
28  * 4. The names "Apache" and "Apache Software Foundation" and
29  * "Apache Turbine" must not be used to endorse or promote products
30  * derived from this software without prior written permission. For
31  * written permission, please contact apache@apache.org.
32  *
33  * 5. Products derived from this software may not be called "Apache",
34  * "Apache Turbine", nor may "Apache" appear in their name, without
35  * prior written permission of the Apache Software Foundation.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals on behalf of the Apache Software Foundation. For more
53  * information on the Apache Software Foundation, please see
54  * <http://www.apache.org/>.
55  */

56
57 import java.io.OutputStream JavaDoc;
58 import java.io.Writer JavaDoc;
59 import org.apache.fulcrum.Service;
60 import org.apache.fulcrum.ServiceException;
61 import org.apache.velocity.context.Context;
62
63 /**
64  * The Turbine service interface to
65  * <a HREF="http://jakarta.apache.org/velocity/">Velocity</a>.
66  *
67  * @author <a HREF="mailto:jmcnally@collab.net">John D. McNally</a>
68  * @author <a HREF="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
69  * @author <a HREF="mailto:jvanzyl@apache.org">Jason van Zyl</a>
70  * @author <a HREF="mailto:dlr@finemaltcoding.com">Daniel Rall</a>
71  * @version $Id: EmailService.java 7872 2003-05-06 08:17:49Z jon $
72  */

73 public interface EmailService extends Service
74 {
75     String JavaDoc SERVICE_NAME = "EmailService";
76
77     /**
78      * Process the request and fill in the template using the values
79      * set in <code>context</code>.
80      *
81      * @param context A context to use when evaluating the specified
82      * template.
83      * @param filename The file name of the template.
84      * @return The processed template.
85      * @exception Exception, a generic exception.
86      */

87     String JavaDoc handleRequest(Context context, String JavaDoc filename)
88         throws Exception JavaDoc;
89
90     /**
91      * Process the request and fill in the template using the values
92      * set in <code>context</code>.
93      *
94      * @param context A context to use when evaluating the specified
95      * template.
96      * @param filename The file name of the template.
97      * @param charset The character set to use when writing the result.
98      * @param encoding The encoding to use when merging context and
99      * template.
100      * @return The processed template.
101      * @exception Exception, a generic exception.
102      */

103     String JavaDoc handleRequest(Context context, String JavaDoc template,
104                                 String JavaDoc charset, String JavaDoc encoding)
105         throws Exception JavaDoc;
106
107     /**
108      * Process the request and fill in the template using the values
109      * set in <code>context</code>.
110      *
111      * @param context A context to use when evaluating the specified
112      * template.
113      * @param filename The file name of the template.
114      * @param out The stream to which we will write the processed
115      * template as a String.
116      * @throws ServiceException Any exception trown while processing will be
117      * wrapped into a ServiceException and rethrown.
118      */

119     void handleRequest(Context context, String JavaDoc filename,
120                               OutputStream JavaDoc out)
121         throws ServiceException;
122
123     /**
124      * Process the request and fill in the template using the values
125      * set in <code>context</code>.
126      *
127      * @param context A context to use when evaluating the specified
128      * template.
129      * @param filename The file name of the template.
130      * @param out The stream to which we will write the processed
131      * template as a String.
132      * @param charset The character set to use when writing the result.
133      * @param encoding The encoding to use when merging context and
134      * template.
135      * @throws ServiceException Any exception trown while processing will be
136      * wrapped into a ServiceException and rethrown.
137      */

138     void handleRequest(Context context, String JavaDoc filename,
139                               OutputStream JavaDoc out, String JavaDoc charset,
140                               String JavaDoc encoding)
141         throws ServiceException;
142
143     /**
144      * Process the request and fill in the template using the values
145      * set in <code>context</code>.
146      *
147      * @param context A context to use when evaluating the specified
148      * template.
149      * @param filename The file name of the template.
150      * @param writer The writer to which we will write the processed template.
151      * @throws ServiceException Any exception trown while processing will be
152      * wrapped into a ServiceException and rethrown.
153      */

154     void handleRequest(Context context, String JavaDoc filename,
155                               Writer JavaDoc writer)
156         throws ServiceException;
157
158     /**
159      * Process the request and fill in the template using the values
160      * set in <code>context</code>.
161      *
162      * @param context A context to use when evaluating the specified
163      * template.
164      * @param filename The file name of the template.
165      * @param writer The writer to which we will write the processed template.
166      * @param encoding The encoding to use when merging context and
167      * template.
168      * @throws ServiceException Any exception trown while processing will be
169      * wrapped into a ServiceException and rethrown.
170      */

171     void handleRequest(Context context, String JavaDoc filename,
172                               Writer JavaDoc writer, String JavaDoc encoding)
173         throws ServiceException;
174 }
175
Popular Tags