1 package org.codehaus.xfire.transport;
2
3 import java.util.Collection;
4
5
6 /***
7 * Registers transports for the SOAP services.
8 *
9 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
10 */
11 public interface TransportManager
12 {
13 String ROLE = TransportManager.class.getName();
14
15 void register(Transport transport);
16
17 void unregister(Transport transport);
18
19 Transport getTransport(String id);
20
21 /***
22 * Get the transports applicable to a particular service.
23 *
24 * @param service
25 * @return
26 */
27 Collection getTransports(String service);
28
29 Collection getTransports();
30
31 /***
32 * Find the best transport for a particular URI.
33 * @param uri
34 * @return
35 */
36 Transport getTransportForUri(String uri);
37
38 void enableAll(String serviceName);
39
40 void disableAll(String serviceName);
41
42 void enable(String transport, String serviceName);
43
44 void disable(String transport, String serviceName);
45
46 /***
47 * Determine if a transport is enabled for a particular service.
48 *
49 * @param serviceName The name of the service.
50 * @param transportName The name of the transport.
51 * @return
52 */
53 boolean isEnabled(String serviceName, String transportName);
54 }