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