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.ejb3.metafacades;
6   
7   import java.util.Collection;
8   import org.andromda.metafacades.uml.Role;
9   import org.andromda.metafacades.uml.ServiceOperation;
10  
11  /**
12   * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade
13   *
14   * Metafacade interface to be used by AndroMDA cartridges.
15   */
16  public interface EJB3SessionOperationFacade
17      extends ServiceOperation
18  {
19      /**
20       * Indicates the metafacade type (used for metafacade mappings).
21       *
22       * @return boolean always <code>true</code>
23       */
24      public boolean isEJB3SessionOperationFacadeMetaType();
25  
26      /**
27       * Return the flush mode to determine when the changes to the database are performed in the
28       * application transaction.  This is typically set on a Stateful session bean where a
29       * transaction span several methods and the database update is only required upon completion of
30       * the final method.
31       * @return String
32       */
33      public String getFlushMode();
34  
35      /**
36       * The method call for the implementation operation.
37       * @return String
38       */
39      public String getImplementationCall();
40  
41      /**
42       * The name of the operation used within the service implementation that contains the core
43       * logic.
44       * @return String
45       */
46      public String getImplementationName();
47  
48      /**
49       * The signature of the implementation operation.
50       * @return String
51       */
52      public String getImplementationSignature();
53  
54      /**
55       * Returns the Collection of target elements from the service bean method where  the target
56       * class has a stereotype of Interceptor.
57       * @return Collection
58       */
59      public Collection getInterceptorReferences();
60  
61      /**
62       * Return only the Role object that do not have a Dependency stereotype of RunAs specified.
63       * @return Collection<Role>
64       */
65      public Collection<Role> getNonRunAsRoles();
66  
67      /**
68       * Returns the comma separated list of roles allowd to execute this operation.  This is defined
69       * by actor dependencies.
70       * @return String
71       */
72      public String getRolesAllowed();
73  
74      /**
75       * Returns a parameter string for the org.jboss.seam.annotations.Factory annotation. Supported
76       * parameters:
77       * * value — specifies the name of the context variable. If the method is a getter method,
78       * default to the JavaBeans property name.
79       * * scope — specifies the scope that Seam should bind the returned value to. Only meaningful
80       * for factory methods which return a value.
81       * @return String
82       */
83      public String getSeamBijectionFactoryParameters();
84  
85      /**
86       * Returns a parameter string for the org.jboss.seam.annotations.Begin annotation. Supported
87       * parameters:
88       * * ifOutcome — specifies the JSF outcome or outcomes that result in a new long-running
89       * conversation context.
90       * * join — determines the behavior when a long-running conversation is already in progress. If
91       * true, the context is propagated. If false, an exception is thrown. Default to false. This
92       * setting is ignored when nested=true is specified
93       * * nested — specifies that a nested conversation should be started if a long-running
94       * conversation is already in progress.
95       * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
96       * contexts that are created during this conversation.
97       * * pageflow — a process definition name of a jBPM process definition deployed via
98       * org.jboss.seam.core.jbpm.pageflowDefinitions.
99       * @return String
100      */
101     public String getSeamConversationBeginParameters();
102 
103     /**
104      * Returns a parameter string for the org.jboss.seam.annotations.BeginTask annotation. Supported
105      * parameters:
106      * * taskIdParameter — the name of a request parameter which holds the id of the task. Default
107      * to "taskId", which is also the default used by the Seam taskList JSF component.
108      * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
109      * contexts that are created during this conversation.
110      * @return String
111      */
112     public String getSeamConversationBeginTaskParameters();
113 
114     /**
115      * Returns a parameter string for the org.jboss.seam.annotations.CreateProcess annotation.
116      * Supported parameters:
117      * * definition — the name of the jBPM process definition deployed via
118      * org.jboss.seam.core.jbpm.processDefinitions.
119      * @return String
120      */
121     public String getSeamConversationCreateProcessParameters();
122 
123     /**
124      * Returns a parameter string for the org.jboss.seam.annotations.End annotation. Supported
125      * parameters:
126      * * ifOutcome — specifies the JSF outcome or outcomes that result in the end of the current
127      * long-running conversation.
128      * * beforeRedirect — by default, the conversation will not actually be destroyed until after
129      * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should
130      * be destroyed at the end of the current request, and that the redirect will be processed in a
131      * new temporary conversation context.
132      * @return String
133      */
134     public String getSeamConversationEndParameters();
135 
136     /**
137      * Returns a parameter string for the org.jboss.seam.annotations.EndTask annotation. Supported
138      * parameters:
139      * * transition — the name of the jBPM transition to be triggered when ending the task. Defaults
140      * to the default transition.
141      * * ifOutcome — specifies the JSF outcome or outcomes that result in the end of the task.
142      * * beforeRedirect — by default, the conversation will not actually be destroyed until after
143      * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should
144      * be destroyed at the end of the current request, and that the redirect will be processed in a
145      * new temporary conversation context.
146      * @return String
147      */
148     public String getSeamConversationEndTaskParameters();
149 
150     /**
151      * Returns a parameter string for the org.jboss.seam.annotations.ResumeProcess annotation.
152      * Supported parameters:
153      * * processIdParameter — the name a request parameter holding the process id. Default to
154      * "processId".
155      * @return String
156      */
157     public String getSeamConversationResumeProcessParameters();
158 
159     /**
160      * Returns a parameter string for the org.jboss.seam.annotations.StartTask annotation. Supported
161      * parameters:
162      * * taskIdParameter — the name of a request parameter which holds the id of the task. Default
163      * to "taskId", which is also the default used by the Seam taskList JSF component.
164      * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
165      * contexts that are created during this conversation.
166      * @return String
167      */
168     public String getSeamConversationStartTaskParameters();
169 
170     /**
171      * Specifies that the method should be called when a component-driven event of the specified
172      * type occurs.
173      * @return String
174      */
175     public String getSeamObserverEventName();
176 
177     /**
178      * Returns a parameter string for the org.jboss.seam.annotations.Rollback annotation. Supported
179      * parameters:
180      * * ifOutcome — the JSF outcomes that cause a transaction rollback (no outcomes is interpreted
181      * to mean any outcome).
182      * @return String
183      */
184     public String getSeamTransactionRollbackParameters();
185 
186     /**
187      * Returns the JSF outcome when validation fails, set using andromda.seam.validation.outcome.
188      * @return String
189      */
190     public String getSeamValidationOutcome();
191 
192     /**
193      * Returns a string with parameters for the org.jboss.seam.annotations.WebRemote annotation.
194      * Supported parameters:
195      * exclude - Allows objects to be excluded from the result's object graph. Example:
196      * WebRemote(exclude="path.to.exclude")
197      * @return String
198      */
199     public String getSeamWebRemoteParameters();
200 
201     /**
202      * Returns the operation test name
203      * @return String
204      */
205     public String getTestName();
206 
207     /**
208      * Returns the session operation test signature used to generate the test method for the
209      * operation  in the session bean test class.
210      * @return String
211      */
212     public String getTestSignature();
213 
214     /**
215      * Gets the throws clause for this service or null if the operation doesn't have any exceptions.
216      * @return String
217      */
218     public String getThrowsClause();
219 
220     /**
221      * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and
222      * appended to the list.
223      * @param initialExceptions String
224      * @return String
225      */
226     public String getThrowsClause(String initialExceptions);
227 
228     /**
229      * Gets the transaction type for this attribute (i.e. REQUIRED, etc)
230      * @return String
231      */
232     public String getTransactionType();
233 
234     /**
235      * Returns a string representing whether this operation is local, remotely or both local and
236      * remotely accessible.  This overrides the default from the session bean view type.
237      * @return String
238      */
239     public String getViewType();
240 
241     /**
242      * True/false on whether or not this operation is an EJB session business operation.
243      * @return boolean
244      */
245     public boolean isBusinessOperation();
246 
247     /**
248      * Returns true if NO roles are permitted to execute this operation in this bean.  This is
249      * specified in the andromda.ejb.security.denyAll tagged value.
250      * @return boolean
251      */
252     public boolean isDenyAll();
253 
254     /**
255      * Specifies whether to exclude the invocation of the class interceptors for the applied
256      * business method.
257      * @return boolean
258      */
259     public boolean isExcludeClassInterceptors();
260 
261     /**
262      * Determines whether to exclude the invocation of the default interceptors for the applied
263      * business method.
264      * @return boolean
265      */
266     public boolean isExcludeDefaultInterceptors();
267 
268     /**
269      * Returns true if this operation is marked with any of the lifecycle callback stereotypes like
270      * PostCostructs, PreDestroy etc.
271      * @return boolean
272      */
273     public boolean isLifecycleCallback();
274 
275     /**
276      * Returns true if all roles are permitted to execute this operation.  This is specified in the
277      * andromda.ejb.security.permitAll tagged value.  It will override the
278      * andromda.ejb.security.rolesAllowed tagged value.
279      * @return boolean
280      */
281     public boolean isPermitAll();
282 
283     /**
284      * Returns true if the associated operation has the <<PostActivate>> stereotype.
285      * This is only applicable for operations in a stateful session bean.
286      * NOTE: The method signature must return void and have no args.
287      * @return boolean
288      */
289     public boolean isPostActivate();
290 
291     /**
292      * Returns true if the associated operation has the <<PostConstruct>> stereotype.
293      * NOTE: The method signature must return void and have no args.
294      * @return boolean
295      */
296     public boolean isPostConstruct();
297 
298     /**
299      * Returns true if the associated operation has the <<PreDestroy>> stereotype.
300      * NOTE: The method signature must return void and have no args.
301      * @return boolean
302      */
303     public boolean isPreDestroy();
304 
305     /**
306      * Returns true if the associated operation has the <<PrePassivate>> stereotype.
307      * This is only applicable for operations in a stateful session bean.
308      * NOTE: The method signature must return void and have no args.
309      * @return boolean
310      */
311     public boolean isPrePassivate();
312 
313     /**
314      * Stereotype Asynchronous. Specifies that the method call is processed asynchronously.
315      * @return boolean
316      */
317     public boolean isSeamAsynchronous();
318 
319     /**
320      * Returns true when stereotype <<Factory>> is set. When it is used on an operation which return
321      * void that operation will be used to initialize the value of the named context variable, when
322      * the context variable has no value.
323      * When it is used on an operation that returns a value then Seam should use that value to
324      * initialize the value of the named context variable, when the context variable has no value.
325      * The context variable is specified by tagged value andromda.seam.bijection.factory.value. If
326      * the method is a getter method, default to the JavaBeans property name.
327      * If no scope is explicitly specified by tagged value andromda.seam.bijection.factory.scope,
328      * the scope of the component with the Factory method is used (unless the component is
329      * stateless, in which case the EVENT context is used).
330      * @return boolean
331      */
332     public boolean isSeamBijectionFactory();
333 
334     /**
335      * Returns true if the <<Begin>> stereotype is set. Specifies that a long-running conversation
336      * begins when this method returns a non-null outcome without exception.
337      * @return boolean
338      */
339     public boolean isSeamConversationBegin();
340 
341     /**
342      * Returns true if stereotype <<BeginTask>> is set. Resumes work on an incomplete jBPM task.
343      * Specifies that a long-running conversation begins when this method returns a non-null outcome
344      * without exception. This conversation is associated with the jBPM task specified in the named
345      * request parameter. Within the context of this conversation, a business process context is
346      * also defined, for the business process instance of the task instance.
347      * @return boolean
348      */
349     public boolean isSeamConversationBeginTask();
350 
351     /**
352      * Returns true if stereotype <<CreateProcess>> is set. Creates a new jBPM process instance when
353      * the method returns a non-null outcome without exception. The ProcessInstance object will be
354      * available in a context variable named processInstance.
355      * @return boolean
356      */
357     public boolean isSeamConversationCreateProcess();
358 
359     /**
360      * Returns true if stereotype <<End>> is set. Specifies that a long-running conversation ends
361      * when this method returns a non-null outcome without exception.
362      * @return boolean
363      */
364     public boolean isSeamConversationEnd();
365 
366     /**
367      * Returns true if stereotype <<EndTask>> is set and "Ends" a jBPM task. Specifies that a
368      * long-running conversation ends when this method returns a non-null outcome, and that the
369      * current task is complete. Triggers a jBPM transition. The actual transition triggered will be
370      * the default transition unless the application has called Transition.setName() on the built-in
371      * component named transition.
372      * @return boolean
373      */
374     public boolean isSeamConversationEndTask();
375 
376     /**
377      * Returns true if stereotype <<ResumeProcess>> is set. Re-enters the scope of an existing jBPM
378      * process instance when the method returns a non-null outcome without exception. The
379      * ProcessInstance object will be available in a context variable named processInstance.
380      * @return boolean
381      */
382     public boolean isSeamConversationResumeProcess();
383 
384     /**
385      * Returns true if stereotype <<StartTask>> is set. It "Starts" a jBPM task. Specifies that a
386      * long-running conversation begins when this method returns a non-null outcome without
387      * exception. This conversation is associated with the jBPM task specified in the named request
388      * parameter. Within the context of this conversation, a business process context is also
389      * defined, for the business process instance of the task instance.
390      * The jBPM TaskInstance will be available in a request context variable named taskInstance. The
391      * jPBM ProcessInstance will be available in a request context variable named processInstance.
392      * (Of course, these objects are available for injection via In.)
393      * @return boolean
394      */
395     public boolean isSeamConversationStartTask();
396 
397     /**
398      * Returns true if the operation has the <<Create>> stereotype modelled.
399      * @return boolean
400      */
401     public boolean isSeamLifecycleCreate();
402 
403     /**
404      * Returns true if the operation has the <<Destroy>> stereotype modelled.
405      * @return boolean
406      */
407     public boolean isSeamLifecycleDestroy();
408 
409     /**
410      * True if the annotated method is a seam component-driven event observer.
411      * @return boolean
412      */
413     public boolean isSeamObserver();
414 
415     /**
416      * Returns true if stereotype <<Rollback>> is set. If the outcome of the method matches any of
417      * the listed outcomes, or if no outcomes are listed, set the transaction to rollback only when
418      * the method completes.
419      * @return boolean
420      */
421     public boolean isSeamTransactionRollback();
422 
423     /**
424      * Specifies that a JavaBean component should have a similar transactional behavior to the
425      * default behavior of a session bean component. ie. method invocations should take place in a
426      * transaction, and if no transaction exists when the method is called, a transaction will be
427      * started just for that method. This annotation may be applied at either class or method level.
428      * @return boolean
429      */
430     public boolean isSeamTransactional();
431 
432     /**
433      * Returns true if the andromda.seam.validation.refreshEntities is modelled on the operation as
434      * true to indicate that any invalid entities in the managed state should be refreshed from the
435      * database when validation fails.
436      * @return boolean
437      */
438     public boolean isSeamValidationRefreshEntities();
439 
440     /**
441      * Returns true if the <<Validator>> stereotype is modelled on this operation and the session
442      * bean is a Seam component.
443      * @return boolean
444      */
445     public boolean isSeamValidationValidator();
446 
447     /**
448      * True if <<WebRemote>> stereotype is set. Indicates that the annotated method may be called
449      * from client-side JavaScript.
450      * @return boolean
451      */
452     public boolean isSeamWebRemote();
453 
454     /**
455      * Returns true if the Timeout stereotype is modelled on the session bean operation.  This will
456      * associate the operation as a timeout callback with the Timer Service.  It does not setup the
457      * timer.
458      * @return boolean
459      */
460     public boolean isTimeoutCallback();
461 
462     /**
463      * Return true if the view type of the operation is both after examing all aspects of the owner
464      * and operation. This is used to determine which interface to use in the service delegate.
465      * @return boolean
466      */
467     public boolean isViewTypeAbsoluteBoth();
468 
469     /**
470      * Return true if the view type of the operation is local after examing all aspects of the owner
471      * and operation. This is used to determine if operation is included in local interface.
472      * @return boolean
473      */
474     public boolean isViewTypeAbsoluteLocal();
475 
476     /**
477      * Return true if the view type of the operation is local after examing all aspects of the owner
478      * and operation. This is used to determine if operation is included in remote interface.
479      * @return boolean
480      */
481     public boolean isViewTypeAbsoluteRemote();
482 
483     /**
484      * Returns true if the view type accessability for this operation is both local and remote.
485      * @return boolean
486      */
487     public boolean isViewTypeBoth();
488 
489     /**
490      * Return true if the view type accessability for this operation is local.
491      * @return boolean
492      */
493     public boolean isViewTypeLocal();
494 
495     /**
496      * Returns true if the view type accessability for the operation is remote.
497      * @return boolean
498      */
499     public boolean isViewTypeRemote();
500 
501     /**
502      * Returns true if the operation view type was explicitly set to both using tagged value.
503      * @return boolean
504      */
505     public boolean isViewTypeStrictlyBoth();
506 
507     /**
508      * Returns true if the operation view type was explicitly set to local view using tagged value.
509      * @return boolean
510      */
511     public boolean isViewTypeStrictlyLocal();
512 
513     /**
514      * Returns true if the operation view type was explicitly set to remote view using tagged value.
515      * @return boolean
516      */
517     public boolean isViewTypeStrictlyRemote();
518 }