1
2
3
4 package org.andromda.cartridges.spring.metafacades;
5
6 /***
7 * <p>
8 * Represents a Spring service (which can include regular java
9 * objects, and/or session EJBs).
10 * </p>
11 *
12 * Metafacade interface to be used by AndroMDA cartridges.
13 */
14 public interface SpringService
15 extends org.andromda.metafacades.uml.Service
16 {
17
18 /***
19 * Indicates the metafacade type (used for metafacade mappings).
20 *
21 * @return always <code>true</code>
22 */
23 public boolean isSpringServiceMetaType();
24
25 /***
26 * <p>
27 * The service base class name.
28 * </p>
29 */
30 public java.lang.String getBaseName();
31
32 /***
33 * <p>
34 * The bean name of this service.
35 * </p>
36 */
37 public java.lang.String getBeanName();
38
39 /***
40 * <p>
41 * Gets the Spring bean name, and optionally adds a target suffix,
42 * if 'targetSuffix' is set to true.
43 * </p>
44 */
45 public java.lang.String getBeanName(boolean targetSuffix);
46
47 /***
48 * <p>
49 * The name of the default exception to be generated for this
50 * service.
51 * </p>
52 */
53 public java.lang.String getDefaultExceptionName();
54
55 /***
56 * <p>
57 * The EJB implementation class name.
58 * </p>
59 */
60 public java.lang.String getEjbImplementationName();
61
62 /***
63 * <p>
64 * The JNDI name to which a Spring remote Session EJB will be
65 * bound.
66 * </p>
67 */
68 public java.lang.String getEjbJndiName();
69
70 /***
71 * <p>
72 * The JNDI name to which a Spring local Session EJB will be bound.
73 * </p>
74 */
75 public java.lang.String getEjbLocalJndiName();
76
77 /***
78 * <p>
79 * This can be either the package name the model element exists
80 * within OR it can be the package with a prefix or suffix (i.e.
81 * the package could have '.ejb') appended to it. This option is
82 * available if the EJB is just used a wrapper around a POJO Spring
83 * Service.
84 * </p>
85 */
86 public java.lang.String getEjbPackageName();
87
88 /***
89 * <p>
90 * The EJB package name as a path (i.e. '.' are replaced with '/').
91 * </p>
92 */
93 public java.lang.String getEjbPackageNamePath();
94
95 /***
96 * <p>
97 * The EJB transaction type (Bean or Container).
98 * </p>
99 */
100 public java.lang.String getEjbTransactionType();
101
102 /***
103 * <p>
104 * The fully qualified service base class name.
105 * </p>
106 */
107 public java.lang.String getFullyQualifiedBaseName();
108
109 /***
110 * <p>
111 * The fully qualified class name of the default exception.
112 * </p>
113 */
114 public java.lang.String getFullyQualifiedDefaultExceptionName();
115
116 /***
117 * <p>
118 * The fully qualified name of the implementation class name.
119 * </p>
120 */
121 public java.lang.String getFullyQualifiedEjbImplementationName();
122
123 /***
124 *
125 */
126 public java.lang.String getFullyQualifiedEjbName();
127
128 /***
129 * <p>
130 * The fully qualified name of the implementation class.
131 * </p>
132 */
133 public java.lang.String getFullyQualifiedImplementationName();
134
135 /***
136 *
137 */
138 public java.lang.String getFullyQualifiedLocalEjbName();
139
140 /***
141 * <p>
142 * The fully qualified web service delegator class name.
143 * </p>
144 */
145 public java.lang.String getFullyQualifiedWebServiceDelegatorName();
146
147 /***
148 * <p>
149 * The implementation name of the service
150 * </p>
151 */
152 public java.lang.String getImplementationName();
153
154 /***
155 *
156 */
157 public java.lang.String[] getInterceptors();
158
159 /***
160 * <p>
161 * Returns the remote context for this service.
162 * </p>
163 */
164 public java.lang.String getRemoteContext();
165
166 /***
167 * <p>
168 * Determines which port this service will be published on at the
169 * server side.
170 * </p>
171 */
172 public java.lang.String getRemotePort();
173
174 /***
175 * <p>
176 * Returns the name of the remote server for this service.
177 * </p>
178 */
179 public java.lang.String getRemoteServer();
180
181 /***
182 * <p>
183 * The URL this servie will be run on at the server side.
184 * </p>
185 */
186 public java.lang.String getRemoteUrl();
187
188 /***
189 * <p>
190 * The name of the web service delegator class.
191 * </p>
192 */
193 public java.lang.String getWebServiceDelegatorName();
194
195 /***
196 * <p>
197 * The call to the incoming web service attachment call.
198 * </p>
199 */
200 public java.lang.String getWebServiceIncomingAttachmentHandlerCall();
201
202 /***
203 * <p>
204 * The operations that can be exposed in a webservice.
205 * </p>
206 */
207 public java.util.Collection getWebServiceOperations();
208
209 /***
210 * <p>
211 * The call to the outgoing web service attachment call.
212 * </p>
213 */
214 public java.lang.String getWebServiceOutgoingAttachmentHandlerCall();
215
216 /***
217 * <p>
218 * Indicates whether or not a default service exception should be
219 * allowed.
220 * </p>
221 */
222 public boolean isAllowDefaultServiceException();
223
224 /***
225 * <p>
226 * Defines whether this service will only be listed in the config,
227 * but note be generated as a Spring bean.
228 * </p>
229 */
230 public boolean isConfigonly();
231
232 /***
233 *
234 */
235 public boolean isEjbLocalView();
236
237 /***
238 * <p>
239 * Indicates if the view type of this service is remote.
240 * </p>
241 */
242 public boolean isEjbRemoteView();
243
244 /***
245 * <p>
246 * Indicates whether or not the hibernate intercetor is enabled for
247 * this service.
248 * </p>
249 */
250 public boolean isHibernateInterceptorEnabled();
251
252 /***
253 * <p>
254 * Returns true if this service is remotable. Derived from
255 * remotingType.
256 * </p>
257 */
258 public boolean isRemotable();
259
260 /***
261 * <p>
262 * Indicates if the remoting type is "burlap".
263 * </p>
264 */
265 public boolean isRemotingTypeBurlap();
266
267 /***
268 * <p>
269 * Indicates if the remoting type is "hessian".
270 * </p>
271 */
272 public boolean isRemotingTypeHessian();
273
274 /***
275 * <p>
276 * Indicates if the remoting type is "httpinvoker".
277 * </p>
278 */
279 public boolean isRemotingTypeHttpInvoker();
280
281 /***
282 * <p>
283 * Indicates if the remoting type for this service is "none".
284 * </p>
285 */
286 public boolean isRemotingTypeNone();
287
288 /***
289 * <p>
290 * Indicates if the remoting type is RMI.
291 * </p>
292 */
293 public boolean isRemotingTypeRmi();
294
295 /***
296 * <p>
297 * Returns true if this service is meant to take part in a richt
298 * client application.
299 * </p>
300 */
301 public boolean isRichClient();
302
303 /***
304 * <p>
305 * Returns true/false depending on whether or not this
306 * SpringService represents a web service.
307 * </p>
308 */
309 public boolean isWebService();
310
311 }