01: package org.objectweb.celtix.transports;
02:
03: import java.io.IOException;
04:
05: import javax.wsdl.WSDLException;
06:
07: import org.objectweb.celtix.Bus;
08: import org.objectweb.celtix.bindings.ClientBinding;
09: import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
10:
11: /**
12: * The TransportFactory provides methods to create client and server transports.
13: */
14: public interface TransportFactory {
15:
16: /**
17: * Initializes this <code>TransportFactory</code>.
18: *
19: * @param bus The bus class this TransportFactory will use.
20: */
21: void init(Bus bus);
22:
23: /**
24: * Returns a newly created <code>ServerTransport</code>.
25: *
26: * @param address the endpoint reference used by the <code>ServerTransport</code>.
27: * @return ServerTransport the newly created <code>ServerTransport</code>.
28: * @throws WSDLException If there is an error creating the transport.
29: */
30: ServerTransport createServerTransport(EndpointReferenceType address)
31: throws WSDLException, IOException;
32:
33: /**
34: * Returns a newly created transient <code>ServerTransport</code>.
35: *
36: * @param address the endpoint reference used by the <code>ServerTransport</code>.
37: * @return ServerTransport the newly created server transport.
38: * @throws WSDLException If there is an error creating the transport.
39: */
40: ServerTransport createTransientServerTransport(
41: EndpointReferenceType address) throws WSDLException,
42: IOException;
43:
44: /**
45: * Returns a newly created <code>ClientTransport</code>.
46: *
47: * @param address the endpoint reference used by the <code>ClientTransport</code>.
48: * @param binding the client binding
49: * @return ClientTransport the newly created client transport.
50: * @throws WSDLException If there is an error creating the transport.
51: */
52: ClientTransport createClientTransport(
53: EndpointReferenceType address, ClientBinding binding)
54: throws WSDLException, IOException;
55: }
|