1    //
2    // SwitchRMI  Framework
3    // Copyright (c) 2000-2002 by Michael J. Henderson & Associates.
4    //
5    // Michael Henderson
6    // http://switchrmi.sf.net
7    // mailto:mikehenderson@dunelm.org.uk
8    //
9    // This library is free software.
10   //
11   // You may redistribute it and/or modify it under the terms of the GNU
12   // Lesser General Public License as published by the Free Software Foundation.
13   //
14   // Version 2.1 of the license should be included with this distribution in
15   // the file LICENSE, as well as License.html. If the license is not
16   // included with this distribution, you may find a copy at the FSF web
17   // site at 'www.gnu.org' or 'www.fsf.org', or you may write to the
18   // Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
19   //
20   // This library is distributed in the hope that it will be useful,
21   // but WITHOUT ANY WARRANTY; without even the implied waranty of
22   // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23   // Lesser General Public License for more details.
24   //
25   // $Id: RmiProtocol.java,v 1.1 2002/11/11 22:19:48 mikehenderson Exp $
26   package com.mjh.switchrmi;
27   
28   import java.lang.reflect.Method;
29   
30   public interface RmiProtocol
31   {
32       public final static String SOAP = "soap";
33       public final static String XMLRPC = "xmlrpc";
34       public final static String RAWRPC = "raw";
35       public final static String HTML = "html";
36       public final static String SOAP_CONTENT_TYPE = "text/xml";
37       public final static String XMLRPC_CONTENT_TYPE = "text/xmls";
38       public final static String RAWRPC_CONTENT_TYPE = "application/x-raw";
39       public final static String HTML_CONTENT_TYPE = "text/html";
40   
41       public String getName();
42   
43       public String getMimeType();
44   
45       public void writeRequest(RmiRequest request, RmiContext context)
46                         throws Exception;
47   
48       public RmiResponse readResponse(RmiContext context)
49                                throws Exception;
50   
51       public RmiRequest readRequest(RmiContext context)
52                              throws Exception;
53   
54       public void writeResponse(RmiResponse response, RmiContext context)
55                          throws Exception;
56   
57       public RmiRequest createRequest(Method method, Object[] args, 
58                                       RmiContext context);
59   
60       public RmiResponse createResponse(RmiRequest request, Object result, 
61                                         RmiContext context);
62   }