KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > providers > soap > axis > extensions > MuleTransport


1 /*
2  * $Id: MuleTransport.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.providers.soap.axis.extensions;
12
13 import org.apache.axis.client.Transport;
14 import org.mule.MuleException;
15 import org.mule.config.i18n.Message;
16 import org.mule.config.i18n.Messages;
17 import org.mule.providers.soap.axis.AxisConnector;
18
19 import java.util.HashMap JavaDoc;
20 import java.util.Map JavaDoc;
21
22 /**
23  * A container for all Mule supported transports for Axis.
24  *
25  * @author <a HREF="mailto:ross.mason@symphonysoft.com">Ross Mason</a>
26  * @version $Revision: 3798 $
27  */

28 public class MuleTransport extends Transport
29 {
30
31     private static Map JavaDoc transports = null;
32
33     public MuleTransport()
34     {
35         transportName = "MuleTransport";
36     }
37
38     public MuleTransport(String JavaDoc protocol)
39     {
40         transportName = protocol;
41     }
42
43     private static void initTransports()
44     {
45         transports = new HashMap JavaDoc();
46         transports.put("http", HTTP.class);
47         transports.put("https", HTTPS.class);
48         transports.put("servlet", SERVLET.class);
49         transports.put("tcp", TCP.class);
50         transports.put("ssl", SSL.class);
51         transports.put("jms", JMS.class);
52         transports.put("vm", VM.class);
53         transports.put("xmpp", XMPP.class);
54         transports.put("smtp", SMTP.class);
55         transports.put("smtps", SMTPS.class);
56         transports.put("pop3", POP3.class);
57         transports.put("pop3s", POP3S.class);
58         transports.put("imap", IMAP.class);
59         transports.put("imaps", IMAPS.class);
60     }
61
62     /**
63      * @param protocol the Axis soap transport to use
64      * @return The corresponding transport class
65      * @throws MuleException if the transport is not supported by Axis
66      * @throws NullPointerException if the transport protocol is null
67      */

68     public static Class JavaDoc getTransportClass(String JavaDoc protocol) throws MuleException
69     {
70         if (protocol == null)
71         {
72             throw new NullPointerException JavaDoc(new Message(Messages.X_IS_NULL, "protocol").toString());
73         }
74         if (!isTransportSupported(protocol))
75         {
76             throw new MuleException(new Message(Messages.SCHEME_X_NOT_COMPATIBLE_WITH_CONNECTOR_X, protocol,
77                 AxisConnector.class.getName()));
78         }
79         return (Class JavaDoc)transports.get(protocol);
80     }
81
82     public static boolean isTransportSupported(String JavaDoc protocol)
83     {
84         if (transports == null)
85         {
86             initTransports();
87         }
88         return transports.get(protocol) != null;
89     }
90
91     public static class HTTP extends MuleTransport
92     {
93         public HTTP()
94         {
95             super("http");
96         }
97     }
98
99     public static class HTTPS extends MuleTransport
100     {
101         public HTTPS()
102         {
103             super("https");
104         }
105     }
106
107     public static class TCP extends MuleTransport
108     {
109         public TCP()
110         {
111             super("tcp");
112         }
113     }
114
115     public static class SSL extends MuleTransport
116     {
117         public SSL()
118         {
119             super("ssl");
120         }
121     }
122
123     public static class JMS extends MuleTransport
124     {
125         public JMS()
126         {
127             super("jms");
128         }
129     }
130
131     public static class POP3 extends MuleTransport
132     {
133         public POP3()
134         {
135             super("pop3");
136         }
137     }
138
139     public static class SMTP extends MuleTransport
140     {
141         public SMTP()
142         {
143             super("smtp");
144         }
145     }
146
147     public static class POP3S extends MuleTransport
148     {
149         public POP3S()
150         {
151             super("pop3s");
152         }
153     }
154
155     public static class SMTPS extends MuleTransport
156     {
157         public SMTPS()
158         {
159             super("smtps");
160         }
161     }
162
163     public static class IMAP extends MuleTransport
164     {
165         public IMAP()
166         {
167             super("imap");
168         }
169     }
170
171     public static class IMAPS extends MuleTransport
172     {
173         public IMAPS()
174         {
175             super("imaps");
176         }
177     }
178
179     public static class XMPP extends MuleTransport
180     {
181         public XMPP()
182         {
183             super("xmpp");
184         }
185     }
186
187     public static class VM extends MuleTransport
188     {
189         public VM()
190         {
191             super("vm");
192         }
193     }
194
195     public static class SERVLET extends MuleTransport
196     {
197         public SERVLET()
198         {
199             super("servlet");
200         }
201     }
202 }
203
Popular Tags