1 // license-header java merge-point
2 //
3 // Attention: generated code (by Metafacade.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.webservice.metafacades;
6
7 import org.andromda.metafacades.uml.ServiceOperation;
8
9 /**
10 * Represents an operation on a web service.
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface WebServiceOperation
15 extends ServiceOperation
16 {
17 /**
18 * Indicates the metafacade type (used for metafacade mappings).
19 *
20 * @return boolean always <code>true</code>
21 */
22 public boolean isWebServiceOperationMetaType();
23
24 /**
25 * Returns the customized operation name. Defaults to operation.name, can be overridden with
26 * WebServiceOperation stereotype operationName attribute. Prevents duplicate operation names in
27 * wsdl for overloaded operations.
28 * @return String
29 */
30 public String getOperationName();
31
32 /**
33 * WebService parameter style: bare or wrapped
34 * @return String
35 */
36 public String getParameterStyle();
37
38 /**
39 * TODO: Model Documentation for
40 * org.andromda.cartridges.webservice.metafacades.WebServiceOperation.restCacheType
41 * @return String
42 */
43 public String getRestCacheType();
44
45 /**
46 * @Consumes(media type) annotation. i.e. json, atom, plain/text, xml.
47 * @return String
48 */
49 public String getRestConsumes();
50
51 /**
52 * Multipart/xml type for this returned part.
53 * @return String
54 */
55 public String getRestPartType();
56
57 /**
58 * The URL path for the REST webservice. If unspecified, the lowercase
59 * /operation/parametername/{parametername}/ is used.
60 * @return String
61 */
62 public String getRestPath();
63
64 /**
65 * @Produces(media type) annotation. i.e. json, atom, plain/text, xml.
66 * @return String
67 */
68 public String getRestProduces();
69
70 /**
71 * Customized REST @Provider annotation, must be implemented in the generated class.
72 * @return String
73 */
74 public String getRestProvider();
75
76 /**
77 * HTML request type for this REST service (GET, PUT, POST, QUERY, DELETE), used for method
78 * annotations.
79 * @return String
80 */
81 public String getRestRequestType();
82
83 /**
84 * Asynchronous service implementation, suspend execution for X ms. Adds @Suspend annotation to
85 * the operation. default=synchronous (suspend=0=wait forever).
86 * @return int
87 */
88 public int getRestSuspend();
89
90 /**
91 * The URL path to test the REST webservice. Substitutes test values for {parametername} parts
92 * of the service URL.
93 * @return String
94 */
95 public String getRestTestPath();
96
97 /**
98 * REST security roles allowed. default=All.
99 * @return String
100 */
101 public String getRolesAllowed();
102
103 /**
104 * The call for the test that tests this operation.
105 * @return String
106 */
107 public String getTestCall();
108
109 /**
110 * The method call for the test implementation operation.
111 * @return String
112 */
113 public String getTestImplementationCall();
114
115 /**
116 * The name of the the operation used within the test implementation.
117 * @return String
118 */
119 public String getTestImplementationName();
120
121 /**
122 * The signature for the test implementation operation.
123 * @return String
124 */
125 public String getTestImplementationSignature();
126
127 /**
128 * The name for the test that tests this operation.
129 * @return String
130 */
131 public String getTestName();
132
133 /**
134 * The signature for the test that tests this operation.
135 * @return String
136 */
137 public String getTestSignature();
138
139 /**
140 * TODO: Model Documentation for
141 * WebServicePackage
142 * @return WebServicePackage
143 */
144 public WebServicePackage getWebServicePackage();
145
146 /**
147 * Returns true/false depending on whether or not this web service operation is exposed.
148 * @return boolean
149 */
150 public boolean isExposed();
151
152 /**
153 * Is this operation a JAX-RS REST operation? JAX-WS and JAX-RS can be mixed in the same service
154 * class. If false, all rest attributes and methods are ignored.
155 * @return boolean
156 */
157 public boolean isRest();
158
159 /**
160 * If this REST service provides application/atom, or any service operations provide
161 * application/atom
162 * @return boolean
163 */
164 public boolean isRestAtom();
165
166 /**
167 * @Encoded T/F. default=false.
168 * @return boolean
169 */
170 public boolean isRestEncoded();
171
172 /**
173 * Checks is each service exception reference is some Exception type and has stereotype
174 * WebFault, if CXF.
175 * @return boolean
176 */
177 public boolean isWebFaultOnAllExceptions();
178 }