01: package org.objectweb.celtix.bindings;
02:
03: import java.util.Map;
04: import java.util.concurrent.Executor;
05:
06: import javax.xml.namespace.QName;
07: import javax.xml.ws.WebServiceProvider;
08:
09: import org.objectweb.celtix.context.ObjectMessageContext;
10:
11: /**
12: * ServerBindingEndpointCallback
13: * Callback used from ServerBinding's to create the DataBindingCallback object used during dispatch
14: * to handle the IO requirements of the endpoint.
15: */
16: public interface ServerBindingEndpointCallback {
17:
18: /**
19: * Creates the DataBindingCallback object
20: * @param objContext The ObjectMessageContext for the dispatch
21: * @param mode The Mode for the dispatch
22: * @return a DataBinding callback object
23: */
24: ServerDataBindingCallback getDataBindingCallback(
25: QName operationName, ObjectMessageContext objContext,
26: DataBindingCallback.Mode mode);
27:
28: DataBindingCallback getFaultDataBindingCallback(
29: ObjectMessageContext objContext);
30:
31: Map<QName, ? extends DataBindingCallback> getOperations();
32:
33: javax.jws.soap.SOAPBinding.Style getStyle();
34:
35: /**
36: * Returns the ServiceMode used for the given Implementor
37: * @return the endpoint's service mode
38: */
39: DataBindingCallback.Mode getServiceMode();
40:
41: /**
42: * Returns the WebServiceProvider used for the given Endpoint
43: * @return the endpoint's service mode
44: */
45: WebServiceProvider getWebServiceProvider();
46:
47: /**
48: * Returns the Executor to use to dispatch request
49: * @return Executor to use to dispatch request
50: */
51: Executor getExecutor();
52:
53: }
|