13b5113c9316a55aed9c8ce32c8a12b5206676a6
[SpringWebServicesForFun/.git] /
1 package de.spring.webservices.operations;
2
3 /**
4  * <p>
5  * Operations: WSDL v1.1 and v2.0 
6  * </p>
7  * See: <a href="http://www.w3.org/TR/wsdl#_porttypes">http://www.w3.org/TR/wsdl#_porttypes</a><br>
8  * See: <a href="http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns">
9  * http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns</a>
10  * 
11  */
12 public interface Operations {
13
14     /**
15      * <p>
16      * Request-response operation WSDL v1.1
17      * </p>
18      * See: <a
19      * href="http://www.w3.org/TR/wsdl#_request-response">http://www.w3.org
20      * /TR/wsdl#_request-response</a>
21      * 
22      * @param <T>
23      *            Describes {@link Response}
24      * @param <E>
25      *            Describes {@link Request}
26      */
27     public static interface RequestResponse<T extends Response, E extends Request> {
28         T requestResponse(E request);
29     }
30
31     /**
32      * <p>
33      * One-way operation WSDL v1.1
34      * </p>
35      * See: <a
36      * href="http://www.w3.org/TR/wsdl#_one-way">http://www.w3.org/TR/wsdl
37      * #_one-way</a>
38      * 
39      * @param <T>
40      *            Describes {@link Response}
41      * @param <E>
42      *            Describes {@link Request}
43      */
44     public interface OneWay<E extends Request> {
45         void oneWay(E request);
46     }
47
48     /**
49      * <p>
50      * Notification operation WSDL v1.1
51      * </p>
52      * See: <a
53      * href="http://www.w3.org/TR/wsdl#_notification">http://www.w3.org/TR
54      * /wsdl#_notification</a>
55      * 
56      * @param <T>
57      *            Describes {@link Response}
58      * @param <E>
59      *            Describes {@link Request}
60      */
61     public interface Notification<T extends Response> {
62         T notification();
63     }
64
65     /**
66      * <p>
67      * In-Only message exchange pattern WSDL 2.0
68      * </p>
69      * See: <a
70      * href="http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns">
71      * http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns</a>
72      * 
73      * @param <E> 
74      *             Describes {@link Request}
75      */
76     public interface InOnly<E extends Request> {
77         void inOnly(E request);
78     }
79
80     /**
81      * <p>
82      * Robust In-Only message exchange pattern WSDL 2.0
83      * </p>
84      * See: <a
85      * href="http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns">
86      * http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns</a>
87      * 
88      * @param <E> 
89      *             Describes {@link Request}
90      */
91     public interface RobustInOnly<E extends Request> {
92         void robustInOnly(E request);
93     }
94
95     /**
96      * <p>
97      * In-Out message exchange pattern WSDL 2.0
98      * </p>
99      * See: <a
100      * href="http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns">
101      * http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#patterns</a>
102      * 
103      * @param <T>
104      *            Describes {@link Response}
105      * @param <E>
106      *            Describes {@link Request}
107      */
108     public interface InOut<T extends Response, E extends Request> {
109         T inOut(E request);
110     }
111 }