01: package org.objectweb.celtix.bindings;
02:
03: import java.io.IOException;
04: import javax.wsdl.WSDLException;
05:
06: import org.objectweb.celtix.Bus;
07: import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
08:
09: /**
10: * A factory interface for creating client and server bindings.
11: */
12: public interface BindingFactory {
13: /**
14: * Initialize the factory with a Bus reference.
15: *
16: * @param bus The <code>Bus</code> for this BindingFactory.
17: */
18: void init(Bus bus);
19:
20: /**
21: * Creates a ClientBinding using the <code>EndpointReferenceType</code>.
22: *
23: * @param reference The EndpointReferenceType the binding will use.
24: * @return ClientBinding The newly created ClientBinding.
25: */
26: ClientBinding createClientBinding(EndpointReferenceType reference)
27: throws WSDLException, IOException;
28:
29: /**
30: * Creates a ServerBinding for the <code>EndpointReferenceType</code>
31: * and <code>Endpoint</code> provided.
32: *
33: * @param reference The EndpointReferenceType the binding will use.
34: * @param endpointCallback The callback used by the binding to obtain additional information
35: * from the data binding layers.
36: * @return ServerBinding The newly created ServerBinding.
37: */
38: ServerBinding createServerBinding(EndpointReferenceType reference,
39: ServerBindingEndpointCallback endpointCallback)
40: throws WSDLException, IOException;
41: }
|