1 // license-header java merge-point
2 //
3 // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.ejb3.metafacades;
6
7 import java.util.Collection;
8 import java.util.List;
9 import org.andromda.core.common.Introspector;
10 import org.andromda.core.metafacade.MetafacadeBase;
11 import org.andromda.core.metafacade.MetafacadeFactory;
12 import org.andromda.core.metafacade.ModelValidationMessage;
13 import org.andromda.metafacades.uml.ClassifierFacade;
14 import org.andromda.metafacades.uml.ConstraintFacade;
15 import org.andromda.metafacades.uml.DependencyFacade;
16 import org.andromda.metafacades.uml.Destination;
17 import org.andromda.metafacades.uml.ModelElementFacade;
18 import org.andromda.metafacades.uml.ModelFacade;
19 import org.andromda.metafacades.uml.OperationFacade;
20 import org.andromda.metafacades.uml.PackageFacade;
21 import org.andromda.metafacades.uml.ParameterFacade;
22 import org.andromda.metafacades.uml.Role;
23 import org.andromda.metafacades.uml.Service;
24 import org.andromda.metafacades.uml.ServiceOperation;
25 import org.andromda.metafacades.uml.StateMachineFacade;
26 import org.andromda.metafacades.uml.StereotypeFacade;
27 import org.andromda.metafacades.uml.TaggedValueFacade;
28 import org.andromda.metafacades.uml.TemplateParameterFacade;
29 import org.andromda.metafacades.uml.TypeMappings;
30 import org.apache.log4j.Logger;
31
32 /**
33 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade
34 * MetafacadeLogic for EJB3SessionOperationFacade
35 *
36 * @see EJB3SessionOperationFacade
37 */
38 public abstract class EJB3SessionOperationFacadeLogic
39 extends MetafacadeBase
40 implements EJB3SessionOperationFacade
41 {
42 /**
43 * The underlying UML object
44 * @see Object
45 */
46 protected Object metaObject;
47
48 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
49 * @param metaObjectIn
50 * @param context
51 */
52 protected EJB3SessionOperationFacadeLogic(Object metaObjectIn, String context)
53 {
54 super(metaObjectIn, getContext(context));
55 this.superServiceOperation =
56 (ServiceOperation)
57 MetafacadeFactory.getInstance().createFacadeImpl(
58 "org.andromda.metafacades.uml.ServiceOperation",
59 metaObjectIn,
60 getContext(context));
61 this.metaObject = metaObjectIn;
62 }
63
64 /**
65 * The logger instance.
66 */
67 private static final Logger logger = Logger.getLogger(EJB3SessionOperationFacadeLogic.class);
68
69 /**
70 * Gets the context for this metafacade logic instance.
71 * @param context String. Set to EJB3SessionOperationFacade if null
72 * @return context String
73 */
74 private static String getContext(String context)
75 {
76 if (context == null)
77 {
78 context = "org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade";
79 }
80 return context;
81 }
82
83 private ServiceOperation superServiceOperation;
84 private boolean superServiceOperationInitialized = false;
85
86 /**
87 * Gets the ServiceOperation parent instance.
88 * @return this.superServiceOperation ServiceOperation
89 */
90 private ServiceOperation getSuperServiceOperation()
91 {
92 if (!this.superServiceOperationInitialized)
93 {
94 ((MetafacadeBase)this.superServiceOperation).setMetafacadeContext(this.getMetafacadeContext());
95 this.superServiceOperationInitialized = true;
96 }
97 return this.superServiceOperation;
98 }
99
100 /** Reset context only for non-root metafacades
101 * @param context
102 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
103 */
104 @Override
105 public void resetMetafacadeContext(String context)
106 {
107 if (!this.contextRoot) // reset context only for non-root metafacades
108 {
109 context = getContext(context); // to have same value as in original constructor call
110 setMetafacadeContext (context);
111 if (this.superServiceOperationInitialized)
112 {
113 ((MetafacadeBase)this.superServiceOperation).resetMetafacadeContext(context);
114 }
115 }
116 }
117
118 /**
119 * @return boolean true always
120 * @see EJB3SessionOperationFacade
121 */
122 public boolean isEJB3SessionOperationFacadeMetaType()
123 {
124 return true;
125 }
126
127 // --------------- attributes ---------------------
128
129 /**
130 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getViewType()
131 * @return String
132 */
133 protected abstract String handleGetViewType();
134
135 private String __viewType1a;
136 private boolean __viewType1aSet = false;
137
138 /**
139 * Returns a string representing whether this operation is local, remotely or both local and
140 * remotely accessible. This overrides the default from the session bean view type.
141 * @return (String)handleGetViewType()
142 */
143 public final String getViewType()
144 {
145 String viewType1a = this.__viewType1a;
146 if (!this.__viewType1aSet)
147 {
148 // viewType has no pre constraints
149 viewType1a = handleGetViewType();
150 // viewType has no post constraints
151 this.__viewType1a = viewType1a;
152 if (isMetafacadePropertyCachingEnabled())
153 {
154 this.__viewType1aSet = true;
155 }
156 }
157 return viewType1a;
158 }
159
160 /**
161 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeRemote()
162 * @return boolean
163 */
164 protected abstract boolean handleIsViewTypeRemote();
165
166 private boolean __viewTypeRemote2a;
167 private boolean __viewTypeRemote2aSet = false;
168
169 /**
170 * Returns true if the view type accessability for the operation is remote.
171 * @return (boolean)handleIsViewTypeRemote()
172 */
173 public final boolean isViewTypeRemote()
174 {
175 boolean viewTypeRemote2a = this.__viewTypeRemote2a;
176 if (!this.__viewTypeRemote2aSet)
177 {
178 // viewTypeRemote has no pre constraints
179 viewTypeRemote2a = handleIsViewTypeRemote();
180 // viewTypeRemote has no post constraints
181 this.__viewTypeRemote2a = viewTypeRemote2a;
182 if (isMetafacadePropertyCachingEnabled())
183 {
184 this.__viewTypeRemote2aSet = true;
185 }
186 }
187 return viewTypeRemote2a;
188 }
189
190 /**
191 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeLocal()
192 * @return boolean
193 */
194 protected abstract boolean handleIsViewTypeLocal();
195
196 private boolean __viewTypeLocal3a;
197 private boolean __viewTypeLocal3aSet = false;
198
199 /**
200 * Return true if the view type accessability for this operation is local.
201 * @return (boolean)handleIsViewTypeLocal()
202 */
203 public final boolean isViewTypeLocal()
204 {
205 boolean viewTypeLocal3a = this.__viewTypeLocal3a;
206 if (!this.__viewTypeLocal3aSet)
207 {
208 // viewTypeLocal has no pre constraints
209 viewTypeLocal3a = handleIsViewTypeLocal();
210 // viewTypeLocal has no post constraints
211 this.__viewTypeLocal3a = viewTypeLocal3a;
212 if (isMetafacadePropertyCachingEnabled())
213 {
214 this.__viewTypeLocal3aSet = true;
215 }
216 }
217 return viewTypeLocal3a;
218 }
219
220 /**
221 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeBoth()
222 * @return boolean
223 */
224 protected abstract boolean handleIsViewTypeBoth();
225
226 private boolean __viewTypeBoth4a;
227 private boolean __viewTypeBoth4aSet = false;
228
229 /**
230 * Returns true if the view type accessability for this operation is both local and remote.
231 * @return (boolean)handleIsViewTypeBoth()
232 */
233 public final boolean isViewTypeBoth()
234 {
235 boolean viewTypeBoth4a = this.__viewTypeBoth4a;
236 if (!this.__viewTypeBoth4aSet)
237 {
238 // viewTypeBoth has no pre constraints
239 viewTypeBoth4a = handleIsViewTypeBoth();
240 // viewTypeBoth has no post constraints
241 this.__viewTypeBoth4a = viewTypeBoth4a;
242 if (isMetafacadePropertyCachingEnabled())
243 {
244 this.__viewTypeBoth4aSet = true;
245 }
246 }
247 return viewTypeBoth4a;
248 }
249
250 /**
251 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTransactionType()
252 * @return String
253 */
254 protected abstract String handleGetTransactionType();
255
256 private String __transactionType5a;
257 private boolean __transactionType5aSet = false;
258
259 /**
260 * Gets the transaction type for this attribute (i.e. REQUIRED, etc)
261 * @return (String)handleGetTransactionType()
262 */
263 public final String getTransactionType()
264 {
265 String transactionType5a = this.__transactionType5a;
266 if (!this.__transactionType5aSet)
267 {
268 // transactionType has no pre constraints
269 transactionType5a = handleGetTransactionType();
270 // transactionType has no post constraints
271 this.__transactionType5a = transactionType5a;
272 if (isMetafacadePropertyCachingEnabled())
273 {
274 this.__transactionType5aSet = true;
275 }
276 }
277 return transactionType5a;
278 }
279
280 /**
281 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isBusinessOperation()
282 * @return boolean
283 */
284 protected abstract boolean handleIsBusinessOperation();
285
286 private boolean __businessOperation6a;
287 private boolean __businessOperation6aSet = false;
288
289 /**
290 * True/false on whether or not this operation is an EJB session business operation.
291 * @return (boolean)handleIsBusinessOperation()
292 */
293 public final boolean isBusinessOperation()
294 {
295 boolean businessOperation6a = this.__businessOperation6a;
296 if (!this.__businessOperation6aSet)
297 {
298 // businessOperation has no pre constraints
299 businessOperation6a = handleIsBusinessOperation();
300 // businessOperation has no post constraints
301 this.__businessOperation6a = businessOperation6a;
302 if (isMetafacadePropertyCachingEnabled())
303 {
304 this.__businessOperation6aSet = true;
305 }
306 }
307 return businessOperation6a;
308 }
309
310 /**
311 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getRolesAllowed()
312 * @return String
313 */
314 protected abstract String handleGetRolesAllowed();
315
316 private String __rolesAllowed7a;
317 private boolean __rolesAllowed7aSet = false;
318
319 /**
320 * Returns the comma separated list of roles allowd to execute this operation. This is defined
321 * by actor dependencies.
322 * @return (String)handleGetRolesAllowed()
323 */
324 public final String getRolesAllowed()
325 {
326 String rolesAllowed7a = this.__rolesAllowed7a;
327 if (!this.__rolesAllowed7aSet)
328 {
329 // rolesAllowed has no pre constraints
330 rolesAllowed7a = handleGetRolesAllowed();
331 // rolesAllowed has no post constraints
332 this.__rolesAllowed7a = rolesAllowed7a;
333 if (isMetafacadePropertyCachingEnabled())
334 {
335 this.__rolesAllowed7aSet = true;
336 }
337 }
338 return rolesAllowed7a;
339 }
340
341 /**
342 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPermitAll()
343 * @return boolean
344 */
345 protected abstract boolean handleIsPermitAll();
346
347 private boolean __permitAll8a;
348 private boolean __permitAll8aSet = false;
349
350 /**
351 * Returns true if all roles are permitted to execute this operation. This is specified in the
352 * andromda.ejb.security.permitAll tagged value. It will override the
353 * andromda.ejb.security.rolesAllowed tagged value.
354 * @return (boolean)handleIsPermitAll()
355 */
356 public final boolean isPermitAll()
357 {
358 boolean permitAll8a = this.__permitAll8a;
359 if (!this.__permitAll8aSet)
360 {
361 // permitAll has no pre constraints
362 permitAll8a = handleIsPermitAll();
363 // permitAll has no post constraints
364 this.__permitAll8a = permitAll8a;
365 if (isMetafacadePropertyCachingEnabled())
366 {
367 this.__permitAll8aSet = true;
368 }
369 }
370 return permitAll8a;
371 }
372
373 /**
374 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isDenyAll()
375 * @return boolean
376 */
377 protected abstract boolean handleIsDenyAll();
378
379 private boolean __denyAll9a;
380 private boolean __denyAll9aSet = false;
381
382 /**
383 * Returns true if NO roles are permitted to execute this operation in this bean. This is
384 * specified in the andromda.ejb.security.denyAll tagged value.
385 * @return (boolean)handleIsDenyAll()
386 */
387 public final boolean isDenyAll()
388 {
389 boolean denyAll9a = this.__denyAll9a;
390 if (!this.__denyAll9aSet)
391 {
392 // denyAll has no pre constraints
393 denyAll9a = handleIsDenyAll();
394 // denyAll has no post constraints
395 this.__denyAll9a = denyAll9a;
396 if (isMetafacadePropertyCachingEnabled())
397 {
398 this.__denyAll9aSet = true;
399 }
400 }
401 return denyAll9a;
402 }
403
404 /**
405 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getFlushMode()
406 * @return String
407 */
408 protected abstract String handleGetFlushMode();
409
410 private String __flushMode10a;
411 private boolean __flushMode10aSet = false;
412
413 /**
414 * Return the flush mode to determine when the changes to the database are performed in the
415 * application transaction. This is typically set on a Stateful session bean where a
416 * transaction span several methods and the database update is only required upon completion of
417 * the final method.
418 * @return (String)handleGetFlushMode()
419 */
420 public final String getFlushMode()
421 {
422 String flushMode10a = this.__flushMode10a;
423 if (!this.__flushMode10aSet)
424 {
425 // flushMode has no pre constraints
426 flushMode10a = handleGetFlushMode();
427 // flushMode has no post constraints
428 this.__flushMode10a = flushMode10a;
429 if (isMetafacadePropertyCachingEnabled())
430 {
431 this.__flushMode10aSet = true;
432 }
433 }
434 return flushMode10a;
435 }
436
437 /**
438 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getThrowsClause()
439 * @return String
440 */
441 protected abstract String handleGetThrowsClause();
442
443 private String __throwsClause11a;
444 private boolean __throwsClause11aSet = false;
445
446 /**
447 * Gets the throws clause for this service or null if the operation doesn't have any exceptions.
448 * @return (String)handleGetThrowsClause()
449 */
450 public final String getThrowsClause()
451 {
452 String throwsClause11a = this.__throwsClause11a;
453 if (!this.__throwsClause11aSet)
454 {
455 // throwsClause has no pre constraints
456 throwsClause11a = handleGetThrowsClause();
457 // throwsClause has no post constraints
458 this.__throwsClause11a = throwsClause11a;
459 if (isMetafacadePropertyCachingEnabled())
460 {
461 this.__throwsClause11aSet = true;
462 }
463 }
464 return throwsClause11a;
465 }
466
467 /**
468 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isTimeoutCallback()
469 * @return boolean
470 */
471 protected abstract boolean handleIsTimeoutCallback();
472
473 private boolean __timeoutCallback12a;
474 private boolean __timeoutCallback12aSet = false;
475
476 /**
477 * Returns true if the Timeout stereotype is modelled on the session bean operation. This will
478 * associate the operation as a timeout callback with the Timer Service. It does not setup the
479 * timer.
480 * @return (boolean)handleIsTimeoutCallback()
481 */
482 public final boolean isTimeoutCallback()
483 {
484 boolean timeoutCallback12a = this.__timeoutCallback12a;
485 if (!this.__timeoutCallback12aSet)
486 {
487 // timeoutCallback has no pre constraints
488 timeoutCallback12a = handleIsTimeoutCallback();
489 // timeoutCallback has no post constraints
490 this.__timeoutCallback12a = timeoutCallback12a;
491 if (isMetafacadePropertyCachingEnabled())
492 {
493 this.__timeoutCallback12aSet = true;
494 }
495 }
496 return timeoutCallback12a;
497 }
498
499 /**
500 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationName()
501 * @return String
502 */
503 protected abstract String handleGetImplementationName();
504
505 private String __implementationName13a;
506 private boolean __implementationName13aSet = false;
507
508 /**
509 * The name of the operation used within the service implementation that contains the core
510 * logic.
511 * @return (String)handleGetImplementationName()
512 */
513 public final String getImplementationName()
514 {
515 String implementationName13a = this.__implementationName13a;
516 if (!this.__implementationName13aSet)
517 {
518 // implementationName has no pre constraints
519 implementationName13a = handleGetImplementationName();
520 // implementationName has no post constraints
521 this.__implementationName13a = implementationName13a;
522 if (isMetafacadePropertyCachingEnabled())
523 {
524 this.__implementationName13aSet = true;
525 }
526 }
527 return implementationName13a;
528 }
529
530 /**
531 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationCall()
532 * @return String
533 */
534 protected abstract String handleGetImplementationCall();
535
536 private String __implementationCall14a;
537 private boolean __implementationCall14aSet = false;
538
539 /**
540 * The method call for the implementation operation.
541 * @return (String)handleGetImplementationCall()
542 */
543 public final String getImplementationCall()
544 {
545 String implementationCall14a = this.__implementationCall14a;
546 if (!this.__implementationCall14aSet)
547 {
548 // implementationCall has no pre constraints
549 implementationCall14a = handleGetImplementationCall();
550 // implementationCall has no post constraints
551 this.__implementationCall14a = implementationCall14a;
552 if (isMetafacadePropertyCachingEnabled())
553 {
554 this.__implementationCall14aSet = true;
555 }
556 }
557 return implementationCall14a;
558 }
559
560 /**
561 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getImplementationSignature()
562 * @return String
563 */
564 protected abstract String handleGetImplementationSignature();
565
566 private String __implementationSignature15a;
567 private boolean __implementationSignature15aSet = false;
568
569 /**
570 * The signature of the implementation operation.
571 * @return (String)handleGetImplementationSignature()
572 */
573 public final String getImplementationSignature()
574 {
575 String implementationSignature15a = this.__implementationSignature15a;
576 if (!this.__implementationSignature15aSet)
577 {
578 // implementationSignature has no pre constraints
579 implementationSignature15a = handleGetImplementationSignature();
580 // implementationSignature has no post constraints
581 this.__implementationSignature15a = implementationSignature15a;
582 if (isMetafacadePropertyCachingEnabled())
583 {
584 this.__implementationSignature15aSet = true;
585 }
586 }
587 return implementationSignature15a;
588 }
589
590 /**
591 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getInterceptorReferences()
592 * @return Collection
593 */
594 protected abstract Collection handleGetInterceptorReferences();
595
596 private Collection __interceptorReferences16a;
597 private boolean __interceptorReferences16aSet = false;
598
599 /**
600 * Returns the Collection of target elements from the service bean method where the target
601 * class has a stereotype of Interceptor.
602 * @return (Collection)handleGetInterceptorReferences()
603 */
604 public final Collection getInterceptorReferences()
605 {
606 Collection interceptorReferences16a = this.__interceptorReferences16a;
607 if (!this.__interceptorReferences16aSet)
608 {
609 // interceptorReferences has no pre constraints
610 interceptorReferences16a = handleGetInterceptorReferences();
611 // interceptorReferences has no post constraints
612 this.__interceptorReferences16a = interceptorReferences16a;
613 if (isMetafacadePropertyCachingEnabled())
614 {
615 this.__interceptorReferences16aSet = true;
616 }
617 }
618 return interceptorReferences16a;
619 }
620
621 /**
622 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isExcludeDefaultInterceptors()
623 * @return boolean
624 */
625 protected abstract boolean handleIsExcludeDefaultInterceptors();
626
627 private boolean __excludeDefaultInterceptors17a;
628 private boolean __excludeDefaultInterceptors17aSet = false;
629
630 /**
631 * Determines whether to exclude the invocation of the default interceptors for the applied
632 * business method.
633 * @return (boolean)handleIsExcludeDefaultInterceptors()
634 */
635 public final boolean isExcludeDefaultInterceptors()
636 {
637 boolean excludeDefaultInterceptors17a = this.__excludeDefaultInterceptors17a;
638 if (!this.__excludeDefaultInterceptors17aSet)
639 {
640 // excludeDefaultInterceptors has no pre constraints
641 excludeDefaultInterceptors17a = handleIsExcludeDefaultInterceptors();
642 // excludeDefaultInterceptors has no post constraints
643 this.__excludeDefaultInterceptors17a = excludeDefaultInterceptors17a;
644 if (isMetafacadePropertyCachingEnabled())
645 {
646 this.__excludeDefaultInterceptors17aSet = true;
647 }
648 }
649 return excludeDefaultInterceptors17a;
650 }
651
652 /**
653 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isExcludeClassInterceptors()
654 * @return boolean
655 */
656 protected abstract boolean handleIsExcludeClassInterceptors();
657
658 private boolean __excludeClassInterceptors18a;
659 private boolean __excludeClassInterceptors18aSet = false;
660
661 /**
662 * Specifies whether to exclude the invocation of the class interceptors for the applied
663 * business method.
664 * @return (boolean)handleIsExcludeClassInterceptors()
665 */
666 public final boolean isExcludeClassInterceptors()
667 {
668 boolean excludeClassInterceptors18a = this.__excludeClassInterceptors18a;
669 if (!this.__excludeClassInterceptors18aSet)
670 {
671 // excludeClassInterceptors has no pre constraints
672 excludeClassInterceptors18a = handleIsExcludeClassInterceptors();
673 // excludeClassInterceptors has no post constraints
674 this.__excludeClassInterceptors18a = excludeClassInterceptors18a;
675 if (isMetafacadePropertyCachingEnabled())
676 {
677 this.__excludeClassInterceptors18aSet = true;
678 }
679 }
680 return excludeClassInterceptors18a;
681 }
682
683 /**
684 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPostConstruct()
685 * @return boolean
686 */
687 protected abstract boolean handleIsPostConstruct();
688
689 private boolean __postConstruct19a;
690 private boolean __postConstruct19aSet = false;
691
692 /**
693 * Returns true if the associated operation has the <<PostConstruct>> stereotype.
694 * NOTE: The method signature must return void and have no args.
695 * @return (boolean)handleIsPostConstruct()
696 */
697 public final boolean isPostConstruct()
698 {
699 boolean postConstruct19a = this.__postConstruct19a;
700 if (!this.__postConstruct19aSet)
701 {
702 // postConstruct has no pre constraints
703 postConstruct19a = handleIsPostConstruct();
704 // postConstruct has no post constraints
705 this.__postConstruct19a = postConstruct19a;
706 if (isMetafacadePropertyCachingEnabled())
707 {
708 this.__postConstruct19aSet = true;
709 }
710 }
711 return postConstruct19a;
712 }
713
714 /**
715 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPreDestroy()
716 * @return boolean
717 */
718 protected abstract boolean handleIsPreDestroy();
719
720 private boolean __preDestroy20a;
721 private boolean __preDestroy20aSet = false;
722
723 /**
724 * Returns true if the associated operation has the <<PreDestroy>> stereotype.
725 * NOTE: The method signature must return void and have no args.
726 * @return (boolean)handleIsPreDestroy()
727 */
728 public final boolean isPreDestroy()
729 {
730 boolean preDestroy20a = this.__preDestroy20a;
731 if (!this.__preDestroy20aSet)
732 {
733 // preDestroy has no pre constraints
734 preDestroy20a = handleIsPreDestroy();
735 // preDestroy has no post constraints
736 this.__preDestroy20a = preDestroy20a;
737 if (isMetafacadePropertyCachingEnabled())
738 {
739 this.__preDestroy20aSet = true;
740 }
741 }
742 return preDestroy20a;
743 }
744
745 /**
746 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPostActivate()
747 * @return boolean
748 */
749 protected abstract boolean handleIsPostActivate();
750
751 private boolean __postActivate21a;
752 private boolean __postActivate21aSet = false;
753
754 /**
755 * Returns true if the associated operation has the <<PostActivate>> stereotype.
756 * This is only applicable for operations in a stateful session bean.
757 * NOTE: The method signature must return void and have no args.
758 * @return (boolean)handleIsPostActivate()
759 */
760 public final boolean isPostActivate()
761 {
762 boolean postActivate21a = this.__postActivate21a;
763 if (!this.__postActivate21aSet)
764 {
765 // postActivate has no pre constraints
766 postActivate21a = handleIsPostActivate();
767 // postActivate has no post constraints
768 this.__postActivate21a = postActivate21a;
769 if (isMetafacadePropertyCachingEnabled())
770 {
771 this.__postActivate21aSet = true;
772 }
773 }
774 return postActivate21a;
775 }
776
777 /**
778 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isPrePassivate()
779 * @return boolean
780 */
781 protected abstract boolean handleIsPrePassivate();
782
783 private boolean __prePassivate22a;
784 private boolean __prePassivate22aSet = false;
785
786 /**
787 * Returns true if the associated operation has the <<PrePassivate>> stereotype.
788 * This is only applicable for operations in a stateful session bean.
789 * NOTE: The method signature must return void and have no args.
790 * @return (boolean)handleIsPrePassivate()
791 */
792 public final boolean isPrePassivate()
793 {
794 boolean prePassivate22a = this.__prePassivate22a;
795 if (!this.__prePassivate22aSet)
796 {
797 // prePassivate has no pre constraints
798 prePassivate22a = handleIsPrePassivate();
799 // prePassivate has no post constraints
800 this.__prePassivate22a = prePassivate22a;
801 if (isMetafacadePropertyCachingEnabled())
802 {
803 this.__prePassivate22aSet = true;
804 }
805 }
806 return prePassivate22a;
807 }
808
809 /**
810 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isLifecycleCallback()
811 * @return boolean
812 */
813 protected abstract boolean handleIsLifecycleCallback();
814
815 private boolean __lifecycleCallback23a;
816 private boolean __lifecycleCallback23aSet = false;
817
818 /**
819 * Returns true if this operation is marked with any of the lifecycle callback stereotypes like
820 * PostCostructs, PreDestroy etc.
821 * @return (boolean)handleIsLifecycleCallback()
822 */
823 public final boolean isLifecycleCallback()
824 {
825 boolean lifecycleCallback23a = this.__lifecycleCallback23a;
826 if (!this.__lifecycleCallback23aSet)
827 {
828 // lifecycleCallback has no pre constraints
829 lifecycleCallback23a = handleIsLifecycleCallback();
830 // lifecycleCallback has no post constraints
831 this.__lifecycleCallback23a = lifecycleCallback23a;
832 if (isMetafacadePropertyCachingEnabled())
833 {
834 this.__lifecycleCallback23aSet = true;
835 }
836 }
837 return lifecycleCallback23a;
838 }
839
840 /**
841 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamValidationValidator()
842 * @return boolean
843 */
844 protected abstract boolean handleIsSeamValidationValidator();
845
846 private boolean __seamValidationValidator24a;
847 private boolean __seamValidationValidator24aSet = false;
848
849 /**
850 * Returns true if the <<Validator>> stereotype is modelled on this operation and the session
851 * bean is a Seam component.
852 * @return (boolean)handleIsSeamValidationValidator()
853 */
854 public final boolean isSeamValidationValidator()
855 {
856 boolean seamValidationValidator24a = this.__seamValidationValidator24a;
857 if (!this.__seamValidationValidator24aSet)
858 {
859 // seamValidationValidator has no pre constraints
860 seamValidationValidator24a = handleIsSeamValidationValidator();
861 // seamValidationValidator has no post constraints
862 this.__seamValidationValidator24a = seamValidationValidator24a;
863 if (isMetafacadePropertyCachingEnabled())
864 {
865 this.__seamValidationValidator24aSet = true;
866 }
867 }
868 return seamValidationValidator24a;
869 }
870
871 /**
872 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamValidationOutcome()
873 * @return String
874 */
875 protected abstract String handleGetSeamValidationOutcome();
876
877 private String __seamValidationOutcome25a;
878 private boolean __seamValidationOutcome25aSet = false;
879
880 /**
881 * Returns the JSF outcome when validation fails, set using andromda.seam.validation.outcome.
882 * @return (String)handleGetSeamValidationOutcome()
883 */
884 public final String getSeamValidationOutcome()
885 {
886 String seamValidationOutcome25a = this.__seamValidationOutcome25a;
887 if (!this.__seamValidationOutcome25aSet)
888 {
889 // seamValidationOutcome has no pre constraints
890 seamValidationOutcome25a = handleGetSeamValidationOutcome();
891 // seamValidationOutcome has no post constraints
892 this.__seamValidationOutcome25a = seamValidationOutcome25a;
893 if (isMetafacadePropertyCachingEnabled())
894 {
895 this.__seamValidationOutcome25aSet = true;
896 }
897 }
898 return seamValidationOutcome25a;
899 }
900
901 /**
902 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamValidationRefreshEntities()
903 * @return boolean
904 */
905 protected abstract boolean handleIsSeamValidationRefreshEntities();
906
907 private boolean __seamValidationRefreshEntities26a;
908 private boolean __seamValidationRefreshEntities26aSet = false;
909
910 /**
911 * Returns true if the andromda.seam.validation.refreshEntities is modelled on the operation as
912 * true to indicate that any invalid entities in the managed state should be refreshed from the
913 * database when validation fails.
914 * @return (boolean)handleIsSeamValidationRefreshEntities()
915 */
916 public final boolean isSeamValidationRefreshEntities()
917 {
918 boolean seamValidationRefreshEntities26a = this.__seamValidationRefreshEntities26a;
919 if (!this.__seamValidationRefreshEntities26aSet)
920 {
921 // seamValidationRefreshEntities has no pre constraints
922 seamValidationRefreshEntities26a = handleIsSeamValidationRefreshEntities();
923 // seamValidationRefreshEntities has no post constraints
924 this.__seamValidationRefreshEntities26a = seamValidationRefreshEntities26a;
925 if (isMetafacadePropertyCachingEnabled())
926 {
927 this.__seamValidationRefreshEntities26aSet = true;
928 }
929 }
930 return seamValidationRefreshEntities26a;
931 }
932
933 /**
934 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyLocal()
935 * @return boolean
936 */
937 protected abstract boolean handleIsViewTypeStrictlyLocal();
938
939 private boolean __viewTypeStrictlyLocal27a;
940 private boolean __viewTypeStrictlyLocal27aSet = false;
941
942 /**
943 * Returns true if the operation view type was explicitly set to local view using tagged value.
944 * @return (boolean)handleIsViewTypeStrictlyLocal()
945 */
946 public final boolean isViewTypeStrictlyLocal()
947 {
948 boolean viewTypeStrictlyLocal27a = this.__viewTypeStrictlyLocal27a;
949 if (!this.__viewTypeStrictlyLocal27aSet)
950 {
951 // viewTypeStrictlyLocal has no pre constraints
952 viewTypeStrictlyLocal27a = handleIsViewTypeStrictlyLocal();
953 // viewTypeStrictlyLocal has no post constraints
954 this.__viewTypeStrictlyLocal27a = viewTypeStrictlyLocal27a;
955 if (isMetafacadePropertyCachingEnabled())
956 {
957 this.__viewTypeStrictlyLocal27aSet = true;
958 }
959 }
960 return viewTypeStrictlyLocal27a;
961 }
962
963 /**
964 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyRemote()
965 * @return boolean
966 */
967 protected abstract boolean handleIsViewTypeStrictlyRemote();
968
969 private boolean __viewTypeStrictlyRemote28a;
970 private boolean __viewTypeStrictlyRemote28aSet = false;
971
972 /**
973 * Returns true if the operation view type was explicitly set to remote view using tagged value.
974 * @return (boolean)handleIsViewTypeStrictlyRemote()
975 */
976 public final boolean isViewTypeStrictlyRemote()
977 {
978 boolean viewTypeStrictlyRemote28a = this.__viewTypeStrictlyRemote28a;
979 if (!this.__viewTypeStrictlyRemote28aSet)
980 {
981 // viewTypeStrictlyRemote has no pre constraints
982 viewTypeStrictlyRemote28a = handleIsViewTypeStrictlyRemote();
983 // viewTypeStrictlyRemote has no post constraints
984 this.__viewTypeStrictlyRemote28a = viewTypeStrictlyRemote28a;
985 if (isMetafacadePropertyCachingEnabled())
986 {
987 this.__viewTypeStrictlyRemote28aSet = true;
988 }
989 }
990 return viewTypeStrictlyRemote28a;
991 }
992
993 /**
994 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteLocal()
995 * @return boolean
996 */
997 protected abstract boolean handleIsViewTypeAbsoluteLocal();
998
999 private boolean __viewTypeAbsoluteLocal29a;
1000 private boolean __viewTypeAbsoluteLocal29aSet = false;
1001
1002 /**
1003 * Return true if the view type of the operation is local after examing all aspects of the owner
1004 * and operation. This is used to determine if operation is included in local interface.
1005 * @return (boolean)handleIsViewTypeAbsoluteLocal()
1006 */
1007 public final boolean isViewTypeAbsoluteLocal()
1008 {
1009 boolean viewTypeAbsoluteLocal29a = this.__viewTypeAbsoluteLocal29a;
1010 if (!this.__viewTypeAbsoluteLocal29aSet)
1011 {
1012 // viewTypeAbsoluteLocal has no pre constraints
1013 viewTypeAbsoluteLocal29a = handleIsViewTypeAbsoluteLocal();
1014 // viewTypeAbsoluteLocal has no post constraints
1015 this.__viewTypeAbsoluteLocal29a = viewTypeAbsoluteLocal29a;
1016 if (isMetafacadePropertyCachingEnabled())
1017 {
1018 this.__viewTypeAbsoluteLocal29aSet = true;
1019 }
1020 }
1021 return viewTypeAbsoluteLocal29a;
1022 }
1023
1024 /**
1025 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteRemote()
1026 * @return boolean
1027 */
1028 protected abstract boolean handleIsViewTypeAbsoluteRemote();
1029
1030 private boolean __viewTypeAbsoluteRemote30a;
1031 private boolean __viewTypeAbsoluteRemote30aSet = false;
1032
1033 /**
1034 * Return true if the view type of the operation is local after examing all aspects of the owner
1035 * and operation. This is used to determine if operation is included in remote interface.
1036 * @return (boolean)handleIsViewTypeAbsoluteRemote()
1037 */
1038 public final boolean isViewTypeAbsoluteRemote()
1039 {
1040 boolean viewTypeAbsoluteRemote30a = this.__viewTypeAbsoluteRemote30a;
1041 if (!this.__viewTypeAbsoluteRemote30aSet)
1042 {
1043 // viewTypeAbsoluteRemote has no pre constraints
1044 viewTypeAbsoluteRemote30a = handleIsViewTypeAbsoluteRemote();
1045 // viewTypeAbsoluteRemote has no post constraints
1046 this.__viewTypeAbsoluteRemote30a = viewTypeAbsoluteRemote30a;
1047 if (isMetafacadePropertyCachingEnabled())
1048 {
1049 this.__viewTypeAbsoluteRemote30aSet = true;
1050 }
1051 }
1052 return viewTypeAbsoluteRemote30a;
1053 }
1054
1055 /**
1056 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeAbsoluteBoth()
1057 * @return boolean
1058 */
1059 protected abstract boolean handleIsViewTypeAbsoluteBoth();
1060
1061 private boolean __viewTypeAbsoluteBoth31a;
1062 private boolean __viewTypeAbsoluteBoth31aSet = false;
1063
1064 /**
1065 * Return true if the view type of the operation is both after examing all aspects of the owner
1066 * and operation. This is used to determine which interface to use in the service delegate.
1067 * @return (boolean)handleIsViewTypeAbsoluteBoth()
1068 */
1069 public final boolean isViewTypeAbsoluteBoth()
1070 {
1071 boolean viewTypeAbsoluteBoth31a = this.__viewTypeAbsoluteBoth31a;
1072 if (!this.__viewTypeAbsoluteBoth31aSet)
1073 {
1074 // viewTypeAbsoluteBoth has no pre constraints
1075 viewTypeAbsoluteBoth31a = handleIsViewTypeAbsoluteBoth();
1076 // viewTypeAbsoluteBoth has no post constraints
1077 this.__viewTypeAbsoluteBoth31a = viewTypeAbsoluteBoth31a;
1078 if (isMetafacadePropertyCachingEnabled())
1079 {
1080 this.__viewTypeAbsoluteBoth31aSet = true;
1081 }
1082 }
1083 return viewTypeAbsoluteBoth31a;
1084 }
1085
1086 /**
1087 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isViewTypeStrictlyBoth()
1088 * @return boolean
1089 */
1090 protected abstract boolean handleIsViewTypeStrictlyBoth();
1091
1092 private boolean __viewTypeStrictlyBoth32a;
1093 private boolean __viewTypeStrictlyBoth32aSet = false;
1094
1095 /**
1096 * Returns true if the operation view type was explicitly set to both using tagged value.
1097 * @return (boolean)handleIsViewTypeStrictlyBoth()
1098 */
1099 public final boolean isViewTypeStrictlyBoth()
1100 {
1101 boolean viewTypeStrictlyBoth32a = this.__viewTypeStrictlyBoth32a;
1102 if (!this.__viewTypeStrictlyBoth32aSet)
1103 {
1104 // viewTypeStrictlyBoth has no pre constraints
1105 viewTypeStrictlyBoth32a = handleIsViewTypeStrictlyBoth();
1106 // viewTypeStrictlyBoth has no post constraints
1107 this.__viewTypeStrictlyBoth32a = viewTypeStrictlyBoth32a;
1108 if (isMetafacadePropertyCachingEnabled())
1109 {
1110 this.__viewTypeStrictlyBoth32aSet = true;
1111 }
1112 }
1113 return viewTypeStrictlyBoth32a;
1114 }
1115
1116 /**
1117 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamAsynchronous()
1118 * @return boolean
1119 */
1120 protected abstract boolean handleIsSeamAsynchronous();
1121
1122 private boolean __seamAsynchronous33a;
1123 private boolean __seamAsynchronous33aSet = false;
1124
1125 /**
1126 * Stereotype Asynchronous. Specifies that the method call is processed asynchronously.
1127 * @return (boolean)handleIsSeamAsynchronous()
1128 */
1129 public final boolean isSeamAsynchronous()
1130 {
1131 boolean seamAsynchronous33a = this.__seamAsynchronous33a;
1132 if (!this.__seamAsynchronous33aSet)
1133 {
1134 // seamAsynchronous has no pre constraints
1135 seamAsynchronous33a = handleIsSeamAsynchronous();
1136 // seamAsynchronous has no post constraints
1137 this.__seamAsynchronous33a = seamAsynchronous33a;
1138 if (isMetafacadePropertyCachingEnabled())
1139 {
1140 this.__seamAsynchronous33aSet = true;
1141 }
1142 }
1143 return seamAsynchronous33a;
1144 }
1145
1146 /**
1147 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationBegin()
1148 * @return boolean
1149 */
1150 protected abstract boolean handleIsSeamConversationBegin();
1151
1152 private boolean __seamConversationBegin34a;
1153 private boolean __seamConversationBegin34aSet = false;
1154
1155 /**
1156 * Returns true if the <<Begin>> stereotype is set. Specifies that a long-running conversation
1157 * begins when this method returns a non-null outcome without exception.
1158 * @return (boolean)handleIsSeamConversationBegin()
1159 */
1160 public final boolean isSeamConversationBegin()
1161 {
1162 boolean seamConversationBegin34a = this.__seamConversationBegin34a;
1163 if (!this.__seamConversationBegin34aSet)
1164 {
1165 // seamConversationBegin has no pre constraints
1166 seamConversationBegin34a = handleIsSeamConversationBegin();
1167 // seamConversationBegin has no post constraints
1168 this.__seamConversationBegin34a = seamConversationBegin34a;
1169 if (isMetafacadePropertyCachingEnabled())
1170 {
1171 this.__seamConversationBegin34aSet = true;
1172 }
1173 }
1174 return seamConversationBegin34a;
1175 }
1176
1177 /**
1178 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationBeginTask()
1179 * @return boolean
1180 */
1181 protected abstract boolean handleIsSeamConversationBeginTask();
1182
1183 private boolean __seamConversationBeginTask35a;
1184 private boolean __seamConversationBeginTask35aSet = false;
1185
1186 /**
1187 * Returns true if stereotype <<BeginTask>> is set. Resumes work on an incomplete jBPM task.
1188 * Specifies that a long-running conversation begins when this method returns a non-null outcome
1189 * without exception. This conversation is associated with the jBPM task specified in the named
1190 * request parameter. Within the context of this conversation, a business process context is
1191 * also defined, for the business process instance of the task instance.
1192 * @return (boolean)handleIsSeamConversationBeginTask()
1193 */
1194 public final boolean isSeamConversationBeginTask()
1195 {
1196 boolean seamConversationBeginTask35a = this.__seamConversationBeginTask35a;
1197 if (!this.__seamConversationBeginTask35aSet)
1198 {
1199 // seamConversationBeginTask has no pre constraints
1200 seamConversationBeginTask35a = handleIsSeamConversationBeginTask();
1201 // seamConversationBeginTask has no post constraints
1202 this.__seamConversationBeginTask35a = seamConversationBeginTask35a;
1203 if (isMetafacadePropertyCachingEnabled())
1204 {
1205 this.__seamConversationBeginTask35aSet = true;
1206 }
1207 }
1208 return seamConversationBeginTask35a;
1209 }
1210
1211 /**
1212 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationCreateProcess()
1213 * @return boolean
1214 */
1215 protected abstract boolean handleIsSeamConversationCreateProcess();
1216
1217 private boolean __seamConversationCreateProcess36a;
1218 private boolean __seamConversationCreateProcess36aSet = false;
1219
1220 /**
1221 * Returns true if stereotype <<CreateProcess>> is set. Creates a new jBPM process instance when
1222 * the method returns a non-null outcome without exception. The ProcessInstance object will be
1223 * available in a context variable named processInstance.
1224 * @return (boolean)handleIsSeamConversationCreateProcess()
1225 */
1226 public final boolean isSeamConversationCreateProcess()
1227 {
1228 boolean seamConversationCreateProcess36a = this.__seamConversationCreateProcess36a;
1229 if (!this.__seamConversationCreateProcess36aSet)
1230 {
1231 // seamConversationCreateProcess has no pre constraints
1232 seamConversationCreateProcess36a = handleIsSeamConversationCreateProcess();
1233 // seamConversationCreateProcess has no post constraints
1234 this.__seamConversationCreateProcess36a = seamConversationCreateProcess36a;
1235 if (isMetafacadePropertyCachingEnabled())
1236 {
1237 this.__seamConversationCreateProcess36aSet = true;
1238 }
1239 }
1240 return seamConversationCreateProcess36a;
1241 }
1242
1243 /**
1244 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationEnd()
1245 * @return boolean
1246 */
1247 protected abstract boolean handleIsSeamConversationEnd();
1248
1249 private boolean __seamConversationEnd37a;
1250 private boolean __seamConversationEnd37aSet = false;
1251
1252 /**
1253 * Returns true if stereotype <<End>> is set. Specifies that a long-running conversation ends
1254 * when this method returns a non-null outcome without exception.
1255 * @return (boolean)handleIsSeamConversationEnd()
1256 */
1257 public final boolean isSeamConversationEnd()
1258 {
1259 boolean seamConversationEnd37a = this.__seamConversationEnd37a;
1260 if (!this.__seamConversationEnd37aSet)
1261 {
1262 // seamConversationEnd has no pre constraints
1263 seamConversationEnd37a = handleIsSeamConversationEnd();
1264 // seamConversationEnd has no post constraints
1265 this.__seamConversationEnd37a = seamConversationEnd37a;
1266 if (isMetafacadePropertyCachingEnabled())
1267 {
1268 this.__seamConversationEnd37aSet = true;
1269 }
1270 }
1271 return seamConversationEnd37a;
1272 }
1273
1274 /**
1275 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationEndTask()
1276 * @return boolean
1277 */
1278 protected abstract boolean handleIsSeamConversationEndTask();
1279
1280 private boolean __seamConversationEndTask38a;
1281 private boolean __seamConversationEndTask38aSet = false;
1282
1283 /**
1284 * Returns true if stereotype <<EndTask>> is set and "Ends" a jBPM task. Specifies that a
1285 * long-running conversation ends when this method returns a non-null outcome, and that the
1286 * current task is complete. Triggers a jBPM transition. The actual transition triggered will be
1287 * the default transition unless the application has called Transition.setName() on the built-in
1288 * component named transition.
1289 * @return (boolean)handleIsSeamConversationEndTask()
1290 */
1291 public final boolean isSeamConversationEndTask()
1292 {
1293 boolean seamConversationEndTask38a = this.__seamConversationEndTask38a;
1294 if (!this.__seamConversationEndTask38aSet)
1295 {
1296 // seamConversationEndTask has no pre constraints
1297 seamConversationEndTask38a = handleIsSeamConversationEndTask();
1298 // seamConversationEndTask has no post constraints
1299 this.__seamConversationEndTask38a = seamConversationEndTask38a;
1300 if (isMetafacadePropertyCachingEnabled())
1301 {
1302 this.__seamConversationEndTask38aSet = true;
1303 }
1304 }
1305 return seamConversationEndTask38a;
1306 }
1307
1308 /**
1309 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamBijectionFactory()
1310 * @return boolean
1311 */
1312 protected abstract boolean handleIsSeamBijectionFactory();
1313
1314 private boolean __seamBijectionFactory39a;
1315 private boolean __seamBijectionFactory39aSet = false;
1316
1317 /**
1318 * Returns true when stereotype <<Factory>> is set. When it is used on an operation which return
1319 * void that operation will be used to initialize the value of the named context variable, when
1320 * the context variable has no value.
1321 * When it is used on an operation that returns a value then Seam should use that value to
1322 * initialize the value of the named context variable, when the context variable has no value.
1323 * The context variable is specified by tagged value andromda.seam.bijection.factory.value. If
1324 * the method is a getter method, default to the JavaBeans property name.
1325 * If no scope is explicitly specified by tagged value andromda.seam.bijection.factory.scope,
1326 * the scope of the component with the Factory method is used (unless the component is
1327 * stateless, in which case the EVENT context is used).
1328 * @return (boolean)handleIsSeamBijectionFactory()
1329 */
1330 public final boolean isSeamBijectionFactory()
1331 {
1332 boolean seamBijectionFactory39a = this.__seamBijectionFactory39a;
1333 if (!this.__seamBijectionFactory39aSet)
1334 {
1335 // seamBijectionFactory has no pre constraints
1336 seamBijectionFactory39a = handleIsSeamBijectionFactory();
1337 // seamBijectionFactory has no post constraints
1338 this.__seamBijectionFactory39a = seamBijectionFactory39a;
1339 if (isMetafacadePropertyCachingEnabled())
1340 {
1341 this.__seamBijectionFactory39aSet = true;
1342 }
1343 }
1344 return seamBijectionFactory39a;
1345 }
1346
1347 /**
1348 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamObserverEventName()
1349 * @return String
1350 */
1351 protected abstract String handleGetSeamObserverEventName();
1352
1353 private String __seamObserverEventName40a;
1354 private boolean __seamObserverEventName40aSet = false;
1355
1356 /**
1357 * Specifies that the method should be called when a component-driven event of the specified
1358 * type occurs.
1359 * @return (String)handleGetSeamObserverEventName()
1360 */
1361 public final String getSeamObserverEventName()
1362 {
1363 String seamObserverEventName40a = this.__seamObserverEventName40a;
1364 if (!this.__seamObserverEventName40aSet)
1365 {
1366 // seamObserverEventName has no pre constraints
1367 seamObserverEventName40a = handleGetSeamObserverEventName();
1368 // seamObserverEventName has no post constraints
1369 this.__seamObserverEventName40a = seamObserverEventName40a;
1370 if (isMetafacadePropertyCachingEnabled())
1371 {
1372 this.__seamObserverEventName40aSet = true;
1373 }
1374 }
1375 return seamObserverEventName40a;
1376 }
1377
1378 /**
1379 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationResumeProcess()
1380 * @return boolean
1381 */
1382 protected abstract boolean handleIsSeamConversationResumeProcess();
1383
1384 private boolean __seamConversationResumeProcess41a;
1385 private boolean __seamConversationResumeProcess41aSet = false;
1386
1387 /**
1388 * Returns true if stereotype <<ResumeProcess>> is set. Re-enters the scope of an existing jBPM
1389 * process instance when the method returns a non-null outcome without exception. The
1390 * ProcessInstance object will be available in a context variable named processInstance.
1391 * @return (boolean)handleIsSeamConversationResumeProcess()
1392 */
1393 public final boolean isSeamConversationResumeProcess()
1394 {
1395 boolean seamConversationResumeProcess41a = this.__seamConversationResumeProcess41a;
1396 if (!this.__seamConversationResumeProcess41aSet)
1397 {
1398 // seamConversationResumeProcess has no pre constraints
1399 seamConversationResumeProcess41a = handleIsSeamConversationResumeProcess();
1400 // seamConversationResumeProcess has no post constraints
1401 this.__seamConversationResumeProcess41a = seamConversationResumeProcess41a;
1402 if (isMetafacadePropertyCachingEnabled())
1403 {
1404 this.__seamConversationResumeProcess41aSet = true;
1405 }
1406 }
1407 return seamConversationResumeProcess41a;
1408 }
1409
1410 /**
1411 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamTransactionRollback()
1412 * @return boolean
1413 */
1414 protected abstract boolean handleIsSeamTransactionRollback();
1415
1416 private boolean __seamTransactionRollback42a;
1417 private boolean __seamTransactionRollback42aSet = false;
1418
1419 /**
1420 * Returns true if stereotype <<Rollback>> is set. If the outcome of the method matches any of
1421 * the listed outcomes, or if no outcomes are listed, set the transaction to rollback only when
1422 * the method completes.
1423 * @return (boolean)handleIsSeamTransactionRollback()
1424 */
1425 public final boolean isSeamTransactionRollback()
1426 {
1427 boolean seamTransactionRollback42a = this.__seamTransactionRollback42a;
1428 if (!this.__seamTransactionRollback42aSet)
1429 {
1430 // seamTransactionRollback has no pre constraints
1431 seamTransactionRollback42a = handleIsSeamTransactionRollback();
1432 // seamTransactionRollback has no post constraints
1433 this.__seamTransactionRollback42a = seamTransactionRollback42a;
1434 if (isMetafacadePropertyCachingEnabled())
1435 {
1436 this.__seamTransactionRollback42aSet = true;
1437 }
1438 }
1439 return seamTransactionRollback42a;
1440 }
1441
1442 /**
1443 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamConversationStartTask()
1444 * @return boolean
1445 */
1446 protected abstract boolean handleIsSeamConversationStartTask();
1447
1448 private boolean __seamConversationStartTask43a;
1449 private boolean __seamConversationStartTask43aSet = false;
1450
1451 /**
1452 * Returns true if stereotype <<StartTask>> is set. It "Starts" a jBPM task. Specifies that a
1453 * long-running conversation begins when this method returns a non-null outcome without
1454 * exception. This conversation is associated with the jBPM task specified in the named request
1455 * parameter. Within the context of this conversation, a business process context is also
1456 * defined, for the business process instance of the task instance.
1457 * The jBPM TaskInstance will be available in a request context variable named taskInstance. The
1458 * jPBM ProcessInstance will be available in a request context variable named processInstance.
1459 * (Of course, these objects are available for injection via In.)
1460 * @return (boolean)handleIsSeamConversationStartTask()
1461 */
1462 public final boolean isSeamConversationStartTask()
1463 {
1464 boolean seamConversationStartTask43a = this.__seamConversationStartTask43a;
1465 if (!this.__seamConversationStartTask43aSet)
1466 {
1467 // seamConversationStartTask has no pre constraints
1468 seamConversationStartTask43a = handleIsSeamConversationStartTask();
1469 // seamConversationStartTask has no post constraints
1470 this.__seamConversationStartTask43a = seamConversationStartTask43a;
1471 if (isMetafacadePropertyCachingEnabled())
1472 {
1473 this.__seamConversationStartTask43aSet = true;
1474 }
1475 }
1476 return seamConversationStartTask43a;
1477 }
1478
1479 /**
1480 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamTransactional()
1481 * @return boolean
1482 */
1483 protected abstract boolean handleIsSeamTransactional();
1484
1485 private boolean __seamTransactional44a;
1486 private boolean __seamTransactional44aSet = false;
1487
1488 /**
1489 * Specifies that a JavaBean component should have a similar transactional behavior to the
1490 * default behavior of a session bean component. ie. method invocations should take place in a
1491 * transaction, and if no transaction exists when the method is called, a transaction will be
1492 * started just for that method. This annotation may be applied at either class or method level.
1493 * @return (boolean)handleIsSeamTransactional()
1494 */
1495 public final boolean isSeamTransactional()
1496 {
1497 boolean seamTransactional44a = this.__seamTransactional44a;
1498 if (!this.__seamTransactional44aSet)
1499 {
1500 // seamTransactional has no pre constraints
1501 seamTransactional44a = handleIsSeamTransactional();
1502 // seamTransactional has no post constraints
1503 this.__seamTransactional44a = seamTransactional44a;
1504 if (isMetafacadePropertyCachingEnabled())
1505 {
1506 this.__seamTransactional44aSet = true;
1507 }
1508 }
1509 return seamTransactional44a;
1510 }
1511
1512 /**
1513 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamWebRemote()
1514 * @return boolean
1515 */
1516 protected abstract boolean handleIsSeamWebRemote();
1517
1518 private boolean __seamWebRemote45a;
1519 private boolean __seamWebRemote45aSet = false;
1520
1521 /**
1522 * True if <<WebRemote>> stereotype is set. Indicates that the annotated method may be called
1523 * from client-side JavaScript.
1524 * @return (boolean)handleIsSeamWebRemote()
1525 */
1526 public final boolean isSeamWebRemote()
1527 {
1528 boolean seamWebRemote45a = this.__seamWebRemote45a;
1529 if (!this.__seamWebRemote45aSet)
1530 {
1531 // seamWebRemote has no pre constraints
1532 seamWebRemote45a = handleIsSeamWebRemote();
1533 // seamWebRemote has no post constraints
1534 this.__seamWebRemote45a = seamWebRemote45a;
1535 if (isMetafacadePropertyCachingEnabled())
1536 {
1537 this.__seamWebRemote45aSet = true;
1538 }
1539 }
1540 return seamWebRemote45a;
1541 }
1542
1543 /**
1544 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamLifecycleDestroy()
1545 * @return boolean
1546 */
1547 protected abstract boolean handleIsSeamLifecycleDestroy();
1548
1549 private boolean __seamLifecycleDestroy46a;
1550 private boolean __seamLifecycleDestroy46aSet = false;
1551
1552 /**
1553 * Returns true if the operation has the <<Destroy>> stereotype modelled.
1554 * @return (boolean)handleIsSeamLifecycleDestroy()
1555 */
1556 public final boolean isSeamLifecycleDestroy()
1557 {
1558 boolean seamLifecycleDestroy46a = this.__seamLifecycleDestroy46a;
1559 if (!this.__seamLifecycleDestroy46aSet)
1560 {
1561 // seamLifecycleDestroy has no pre constraints
1562 seamLifecycleDestroy46a = handleIsSeamLifecycleDestroy();
1563 // seamLifecycleDestroy has no post constraints
1564 this.__seamLifecycleDestroy46a = seamLifecycleDestroy46a;
1565 if (isMetafacadePropertyCachingEnabled())
1566 {
1567 this.__seamLifecycleDestroy46aSet = true;
1568 }
1569 }
1570 return seamLifecycleDestroy46a;
1571 }
1572
1573 /**
1574 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamLifecycleCreate()
1575 * @return boolean
1576 */
1577 protected abstract boolean handleIsSeamLifecycleCreate();
1578
1579 private boolean __seamLifecycleCreate47a;
1580 private boolean __seamLifecycleCreate47aSet = false;
1581
1582 /**
1583 * Returns true if the operation has the <<Create>> stereotype modelled.
1584 * @return (boolean)handleIsSeamLifecycleCreate()
1585 */
1586 public final boolean isSeamLifecycleCreate()
1587 {
1588 boolean seamLifecycleCreate47a = this.__seamLifecycleCreate47a;
1589 if (!this.__seamLifecycleCreate47aSet)
1590 {
1591 // seamLifecycleCreate has no pre constraints
1592 seamLifecycleCreate47a = handleIsSeamLifecycleCreate();
1593 // seamLifecycleCreate has no post constraints
1594 this.__seamLifecycleCreate47a = seamLifecycleCreate47a;
1595 if (isMetafacadePropertyCachingEnabled())
1596 {
1597 this.__seamLifecycleCreate47aSet = true;
1598 }
1599 }
1600 return seamLifecycleCreate47a;
1601 }
1602
1603 /**
1604 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamWebRemoteParameters()
1605 * @return String
1606 */
1607 protected abstract String handleGetSeamWebRemoteParameters();
1608
1609 private String __seamWebRemoteParameters48a;
1610 private boolean __seamWebRemoteParameters48aSet = false;
1611
1612 /**
1613 * Returns a string with parameters for the org.jboss.seam.annotations.WebRemote annotation.
1614 * Supported parameters:
1615 * exclude - Allows objects to be excluded from the result's object graph. Example:
1616 * WebRemote(exclude="path.to.exclude")
1617 * @return (String)handleGetSeamWebRemoteParameters()
1618 */
1619 public final String getSeamWebRemoteParameters()
1620 {
1621 String seamWebRemoteParameters48a = this.__seamWebRemoteParameters48a;
1622 if (!this.__seamWebRemoteParameters48aSet)
1623 {
1624 // seamWebRemoteParameters has no pre constraints
1625 seamWebRemoteParameters48a = handleGetSeamWebRemoteParameters();
1626 // seamWebRemoteParameters has no post constraints
1627 this.__seamWebRemoteParameters48a = seamWebRemoteParameters48a;
1628 if (isMetafacadePropertyCachingEnabled())
1629 {
1630 this.__seamWebRemoteParameters48aSet = true;
1631 }
1632 }
1633 return seamWebRemoteParameters48a;
1634 }
1635
1636 /**
1637 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationBeginParameters()
1638 * @return String
1639 */
1640 protected abstract String handleGetSeamConversationBeginParameters();
1641
1642 private String __seamConversationBeginParameters49a;
1643 private boolean __seamConversationBeginParameters49aSet = false;
1644
1645 /**
1646 * Returns a parameter string for the org.jboss.seam.annotations.Begin annotation. Supported
1647 * parameters:
1648 * * ifOutcome — specifies the JSF outcome or outcomes that result in a new long-running
1649 * conversation context.
1650 * * join — determines the behavior when a long-running conversation is already in progress. If
1651 * true, the context is propagated. If false, an exception is thrown. Default to false. This
1652 * setting is ignored when nested=true is specified
1653 * * nested — specifies that a nested conversation should be started if a long-running
1654 * conversation is already in progress.
1655 * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
1656 * contexts that are created during this conversation.
1657 * * pageflow — a process definition name of a jBPM process definition deployed via
1658 * org.jboss.seam.core.jbpm.pageflowDefinitions.
1659 * @return (String)handleGetSeamConversationBeginParameters()
1660 */
1661 public final String getSeamConversationBeginParameters()
1662 {
1663 String seamConversationBeginParameters49a = this.__seamConversationBeginParameters49a;
1664 if (!this.__seamConversationBeginParameters49aSet)
1665 {
1666 // seamConversationBeginParameters has no pre constraints
1667 seamConversationBeginParameters49a = handleGetSeamConversationBeginParameters();
1668 // seamConversationBeginParameters has no post constraints
1669 this.__seamConversationBeginParameters49a = seamConversationBeginParameters49a;
1670 if (isMetafacadePropertyCachingEnabled())
1671 {
1672 this.__seamConversationBeginParameters49aSet = true;
1673 }
1674 }
1675 return seamConversationBeginParameters49a;
1676 }
1677
1678 /**
1679 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationBeginTaskParameters()
1680 * @return String
1681 */
1682 protected abstract String handleGetSeamConversationBeginTaskParameters();
1683
1684 private String __seamConversationBeginTaskParameters50a;
1685 private boolean __seamConversationBeginTaskParameters50aSet = false;
1686
1687 /**
1688 * Returns a parameter string for the org.jboss.seam.annotations.BeginTask annotation. Supported
1689 * parameters:
1690 * * taskIdParameter — the name of a request parameter which holds the id of the task. Default
1691 * to "taskId", which is also the default used by the Seam taskList JSF component.
1692 * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
1693 * contexts that are created during this conversation.
1694 * @return (String)handleGetSeamConversationBeginTaskParameters()
1695 */
1696 public final String getSeamConversationBeginTaskParameters()
1697 {
1698 String seamConversationBeginTaskParameters50a = this.__seamConversationBeginTaskParameters50a;
1699 if (!this.__seamConversationBeginTaskParameters50aSet)
1700 {
1701 // seamConversationBeginTaskParameters has no pre constraints
1702 seamConversationBeginTaskParameters50a = handleGetSeamConversationBeginTaskParameters();
1703 // seamConversationBeginTaskParameters has no post constraints
1704 this.__seamConversationBeginTaskParameters50a = seamConversationBeginTaskParameters50a;
1705 if (isMetafacadePropertyCachingEnabled())
1706 {
1707 this.__seamConversationBeginTaskParameters50aSet = true;
1708 }
1709 }
1710 return seamConversationBeginTaskParameters50a;
1711 }
1712
1713 /**
1714 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationCreateProcessParameters()
1715 * @return String
1716 */
1717 protected abstract String handleGetSeamConversationCreateProcessParameters();
1718
1719 private String __seamConversationCreateProcessParameters51a;
1720 private boolean __seamConversationCreateProcessParameters51aSet = false;
1721
1722 /**
1723 * Returns a parameter string for the org.jboss.seam.annotations.CreateProcess annotation.
1724 * Supported parameters:
1725 * * definition — the name of the jBPM process definition deployed via
1726 * org.jboss.seam.core.jbpm.processDefinitions.
1727 * @return (String)handleGetSeamConversationCreateProcessParameters()
1728 */
1729 public final String getSeamConversationCreateProcessParameters()
1730 {
1731 String seamConversationCreateProcessParameters51a = this.__seamConversationCreateProcessParameters51a;
1732 if (!this.__seamConversationCreateProcessParameters51aSet)
1733 {
1734 // seamConversationCreateProcessParameters has no pre constraints
1735 seamConversationCreateProcessParameters51a = handleGetSeamConversationCreateProcessParameters();
1736 // seamConversationCreateProcessParameters has no post constraints
1737 this.__seamConversationCreateProcessParameters51a = seamConversationCreateProcessParameters51a;
1738 if (isMetafacadePropertyCachingEnabled())
1739 {
1740 this.__seamConversationCreateProcessParameters51aSet = true;
1741 }
1742 }
1743 return seamConversationCreateProcessParameters51a;
1744 }
1745
1746 /**
1747 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationEndParameters()
1748 * @return String
1749 */
1750 protected abstract String handleGetSeamConversationEndParameters();
1751
1752 private String __seamConversationEndParameters52a;
1753 private boolean __seamConversationEndParameters52aSet = false;
1754
1755 /**
1756 * Returns a parameter string for the org.jboss.seam.annotations.End annotation. Supported
1757 * parameters:
1758 * * ifOutcome — specifies the JSF outcome or outcomes that result in the end of the current
1759 * long-running conversation.
1760 * * beforeRedirect — by default, the conversation will not actually be destroyed until after
1761 * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should
1762 * be destroyed at the end of the current request, and that the redirect will be processed in a
1763 * new temporary conversation context.
1764 * @return (String)handleGetSeamConversationEndParameters()
1765 */
1766 public final String getSeamConversationEndParameters()
1767 {
1768 String seamConversationEndParameters52a = this.__seamConversationEndParameters52a;
1769 if (!this.__seamConversationEndParameters52aSet)
1770 {
1771 // seamConversationEndParameters has no pre constraints
1772 seamConversationEndParameters52a = handleGetSeamConversationEndParameters();
1773 // seamConversationEndParameters has no post constraints
1774 this.__seamConversationEndParameters52a = seamConversationEndParameters52a;
1775 if (isMetafacadePropertyCachingEnabled())
1776 {
1777 this.__seamConversationEndParameters52aSet = true;
1778 }
1779 }
1780 return seamConversationEndParameters52a;
1781 }
1782
1783 /**
1784 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationEndTaskParameters()
1785 * @return String
1786 */
1787 protected abstract String handleGetSeamConversationEndTaskParameters();
1788
1789 private String __seamConversationEndTaskParameters53a;
1790 private boolean __seamConversationEndTaskParameters53aSet = false;
1791
1792 /**
1793 * Returns a parameter string for the org.jboss.seam.annotations.EndTask annotation. Supported
1794 * parameters:
1795 * * transition — the name of the jBPM transition to be triggered when ending the task. Defaults
1796 * to the default transition.
1797 * * ifOutcome — specifies the JSF outcome or outcomes that result in the end of the task.
1798 * * beforeRedirect — by default, the conversation will not actually be destroyed until after
1799 * any redirect has occurred. Setting beforeRedirect=true specifies that the conversation should
1800 * be destroyed at the end of the current request, and that the redirect will be processed in a
1801 * new temporary conversation context.
1802 * @return (String)handleGetSeamConversationEndTaskParameters()
1803 */
1804 public final String getSeamConversationEndTaskParameters()
1805 {
1806 String seamConversationEndTaskParameters53a = this.__seamConversationEndTaskParameters53a;
1807 if (!this.__seamConversationEndTaskParameters53aSet)
1808 {
1809 // seamConversationEndTaskParameters has no pre constraints
1810 seamConversationEndTaskParameters53a = handleGetSeamConversationEndTaskParameters();
1811 // seamConversationEndTaskParameters has no post constraints
1812 this.__seamConversationEndTaskParameters53a = seamConversationEndTaskParameters53a;
1813 if (isMetafacadePropertyCachingEnabled())
1814 {
1815 this.__seamConversationEndTaskParameters53aSet = true;
1816 }
1817 }
1818 return seamConversationEndTaskParameters53a;
1819 }
1820
1821 /**
1822 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamBijectionFactoryParameters()
1823 * @return String
1824 */
1825 protected abstract String handleGetSeamBijectionFactoryParameters();
1826
1827 private String __seamBijectionFactoryParameters54a;
1828 private boolean __seamBijectionFactoryParameters54aSet = false;
1829
1830 /**
1831 * Returns a parameter string for the org.jboss.seam.annotations.Factory annotation. Supported
1832 * parameters:
1833 * * value — specifies the name of the context variable. If the method is a getter method,
1834 * default to the JavaBeans property name.
1835 * * scope — specifies the scope that Seam should bind the returned value to. Only meaningful
1836 * for factory methods which return a value.
1837 * @return (String)handleGetSeamBijectionFactoryParameters()
1838 */
1839 public final String getSeamBijectionFactoryParameters()
1840 {
1841 String seamBijectionFactoryParameters54a = this.__seamBijectionFactoryParameters54a;
1842 if (!this.__seamBijectionFactoryParameters54aSet)
1843 {
1844 // seamBijectionFactoryParameters has no pre constraints
1845 seamBijectionFactoryParameters54a = handleGetSeamBijectionFactoryParameters();
1846 // seamBijectionFactoryParameters has no post constraints
1847 this.__seamBijectionFactoryParameters54a = seamBijectionFactoryParameters54a;
1848 if (isMetafacadePropertyCachingEnabled())
1849 {
1850 this.__seamBijectionFactoryParameters54aSet = true;
1851 }
1852 }
1853 return seamBijectionFactoryParameters54a;
1854 }
1855
1856 /**
1857 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationResumeProcessParameters()
1858 * @return String
1859 */
1860 protected abstract String handleGetSeamConversationResumeProcessParameters();
1861
1862 private String __seamConversationResumeProcessParameters55a;
1863 private boolean __seamConversationResumeProcessParameters55aSet = false;
1864
1865 /**
1866 * Returns a parameter string for the org.jboss.seam.annotations.ResumeProcess annotation.
1867 * Supported parameters:
1868 * * processIdParameter — the name a request parameter holding the process id. Default to
1869 * "processId".
1870 * @return (String)handleGetSeamConversationResumeProcessParameters()
1871 */
1872 public final String getSeamConversationResumeProcessParameters()
1873 {
1874 String seamConversationResumeProcessParameters55a = this.__seamConversationResumeProcessParameters55a;
1875 if (!this.__seamConversationResumeProcessParameters55aSet)
1876 {
1877 // seamConversationResumeProcessParameters has no pre constraints
1878 seamConversationResumeProcessParameters55a = handleGetSeamConversationResumeProcessParameters();
1879 // seamConversationResumeProcessParameters has no post constraints
1880 this.__seamConversationResumeProcessParameters55a = seamConversationResumeProcessParameters55a;
1881 if (isMetafacadePropertyCachingEnabled())
1882 {
1883 this.__seamConversationResumeProcessParameters55aSet = true;
1884 }
1885 }
1886 return seamConversationResumeProcessParameters55a;
1887 }
1888
1889 /**
1890 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamConversationStartTaskParameters()
1891 * @return String
1892 */
1893 protected abstract String handleGetSeamConversationStartTaskParameters();
1894
1895 private String __seamConversationStartTaskParameters56a;
1896 private boolean __seamConversationStartTaskParameters56aSet = false;
1897
1898 /**
1899 * Returns a parameter string for the org.jboss.seam.annotations.StartTask annotation. Supported
1900 * parameters:
1901 * * taskIdParameter — the name of a request parameter which holds the id of the task. Default
1902 * to "taskId", which is also the default used by the Seam taskList JSF component.
1903 * * flushMode — set the flush mode of any Seam-managed Hibernate sessions or JPA persistence
1904 * contexts that are created during this conversation.
1905 * @return (String)handleGetSeamConversationStartTaskParameters()
1906 */
1907 public final String getSeamConversationStartTaskParameters()
1908 {
1909 String seamConversationStartTaskParameters56a = this.__seamConversationStartTaskParameters56a;
1910 if (!this.__seamConversationStartTaskParameters56aSet)
1911 {
1912 // seamConversationStartTaskParameters has no pre constraints
1913 seamConversationStartTaskParameters56a = handleGetSeamConversationStartTaskParameters();
1914 // seamConversationStartTaskParameters has no post constraints
1915 this.__seamConversationStartTaskParameters56a = seamConversationStartTaskParameters56a;
1916 if (isMetafacadePropertyCachingEnabled())
1917 {
1918 this.__seamConversationStartTaskParameters56aSet = true;
1919 }
1920 }
1921 return seamConversationStartTaskParameters56a;
1922 }
1923
1924 /**
1925 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getSeamTransactionRollbackParameters()
1926 * @return String
1927 */
1928 protected abstract String handleGetSeamTransactionRollbackParameters();
1929
1930 private String __seamTransactionRollbackParameters57a;
1931 private boolean __seamTransactionRollbackParameters57aSet = false;
1932
1933 /**
1934 * Returns a parameter string for the org.jboss.seam.annotations.Rollback annotation. Supported
1935 * parameters:
1936 * * ifOutcome — the JSF outcomes that cause a transaction rollback (no outcomes is interpreted
1937 * to mean any outcome).
1938 * @return (String)handleGetSeamTransactionRollbackParameters()
1939 */
1940 public final String getSeamTransactionRollbackParameters()
1941 {
1942 String seamTransactionRollbackParameters57a = this.__seamTransactionRollbackParameters57a;
1943 if (!this.__seamTransactionRollbackParameters57aSet)
1944 {
1945 // seamTransactionRollbackParameters has no pre constraints
1946 seamTransactionRollbackParameters57a = handleGetSeamTransactionRollbackParameters();
1947 // seamTransactionRollbackParameters has no post constraints
1948 this.__seamTransactionRollbackParameters57a = seamTransactionRollbackParameters57a;
1949 if (isMetafacadePropertyCachingEnabled())
1950 {
1951 this.__seamTransactionRollbackParameters57aSet = true;
1952 }
1953 }
1954 return seamTransactionRollbackParameters57a;
1955 }
1956
1957 /**
1958 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#isSeamObserver()
1959 * @return boolean
1960 */
1961 protected abstract boolean handleIsSeamObserver();
1962
1963 private boolean __seamObserver58a;
1964 private boolean __seamObserver58aSet = false;
1965
1966 /**
1967 * True if the annotated method is a seam component-driven event observer.
1968 * @return (boolean)handleIsSeamObserver()
1969 */
1970 public final boolean isSeamObserver()
1971 {
1972 boolean seamObserver58a = this.__seamObserver58a;
1973 if (!this.__seamObserver58aSet)
1974 {
1975 // seamObserver has no pre constraints
1976 seamObserver58a = handleIsSeamObserver();
1977 // seamObserver has no post constraints
1978 this.__seamObserver58a = seamObserver58a;
1979 if (isMetafacadePropertyCachingEnabled())
1980 {
1981 this.__seamObserver58aSet = true;
1982 }
1983 }
1984 return seamObserver58a;
1985 }
1986
1987 /**
1988 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTestSignature()
1989 * @return String
1990 */
1991 protected abstract String handleGetTestSignature();
1992
1993 private String __testSignature59a;
1994 private boolean __testSignature59aSet = false;
1995
1996 /**
1997 * Returns the session operation test signature used to generate the test method for the
1998 * operation in the session bean test class.
1999 * @return (String)handleGetTestSignature()
2000 */
2001 public final String getTestSignature()
2002 {
2003 String testSignature59a = this.__testSignature59a;
2004 if (!this.__testSignature59aSet)
2005 {
2006 // testSignature has no pre constraints
2007 testSignature59a = handleGetTestSignature();
2008 // testSignature has no post constraints
2009 this.__testSignature59a = testSignature59a;
2010 if (isMetafacadePropertyCachingEnabled())
2011 {
2012 this.__testSignature59aSet = true;
2013 }
2014 }
2015 return testSignature59a;
2016 }
2017
2018 /**
2019 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade#getTestName()
2020 * @return String
2021 */
2022 protected abstract String handleGetTestName();
2023
2024 private String __testName60a;
2025 private boolean __testName60aSet = false;
2026
2027 /**
2028 * Returns the operation test name
2029 * @return (String)handleGetTestName()
2030 */
2031 public final String getTestName()
2032 {
2033 String testName60a = this.__testName60a;
2034 if (!this.__testName60aSet)
2035 {
2036 // testName has no pre constraints
2037 testName60a = handleGetTestName();
2038 // testName has no post constraints
2039 this.__testName60a = testName60a;
2040 if (isMetafacadePropertyCachingEnabled())
2041 {
2042 this.__testName60aSet = true;
2043 }
2044 }
2045 return testName60a;
2046 }
2047
2048 // ---------------- business methods ----------------------
2049
2050 /**
2051 * Method to be implemented in descendants
2052 * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and
2053 * appended to the list.
2054 * @param initialExceptions
2055 * @return String
2056 */
2057 protected abstract String handleGetThrowsClause(String initialExceptions);
2058
2059 /**
2060 * Retrieves the throws clause allowing a comma separated list of exceptions to be passed in and
2061 * appended to the list.
2062 * @param initialExceptions String
2063 * A comma separated list of exceptions to be passed in.
2064 * @return handleGetThrowsClause(initialExceptions)
2065 */
2066 public String getThrowsClause(String initialExceptions)
2067 {
2068 // getThrowsClause has no pre constraints
2069 String returnValue = handleGetThrowsClause(initialExceptions);
2070 // getThrowsClause has no post constraints
2071 return returnValue;
2072 }
2073
2074 // ------------- associations ------------------
2075
2076 /**
2077 * TODO: Model Documentation for
2078 * org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade
2079 * @return (Collection<Role>)handleGetNonRunAsRoles()
2080 */
2081 public final Collection<Role> getNonRunAsRoles()
2082 {
2083 Collection<Role> getNonRunAsRoles1r = null;
2084 // eJB3SessionOperationFacade has no pre constraints
2085 Collection result = handleGetNonRunAsRoles();
2086 List shieldedResult = this.shieldedElements(result);
2087 try
2088 {
2089 getNonRunAsRoles1r = (Collection<Role>)shieldedResult;
2090 }
2091 catch (ClassCastException ex)
2092 {
2093 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2094 EJB3SessionOperationFacadeLogic.logger.warn("incorrect metafacade cast for EJB3SessionOperationFacadeLogic.getNonRunAsRoles Collection<Role> " + result + ": " + shieldedResult);
2095 }
2096 // eJB3SessionOperationFacade has no post constraints
2097 return getNonRunAsRoles1r;
2098 }
2099
2100 /**
2101 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2102 * @return Collection
2103 */
2104 protected abstract Collection handleGetNonRunAsRoles();
2105
2106 /**
2107 * @return true
2108 * @see ServiceOperation
2109 */
2110 public boolean isServiceOperationMetaType()
2111 {
2112 return true;
2113 }
2114
2115 /**
2116 * @return true
2117 * @see OperationFacade
2118 */
2119 public boolean isOperationFacadeMetaType()
2120 {
2121 return true;
2122 }
2123
2124 /**
2125 * @return true
2126 * @see ModelElementFacade
2127 */
2128 public boolean isModelElementFacadeMetaType()
2129 {
2130 return true;
2131 }
2132
2133 // ----------- delegates to ServiceOperation ------------
2134 /**
2135 * Copies all tagged values from the given ModelElementFacade to this model element facade.
2136 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
2137 */
2138 public void copyTaggedValues(ModelElementFacade element)
2139 {
2140 this.getSuperServiceOperation().copyTaggedValues(element);
2141 }
2142
2143 /**
2144 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
2145 * one found will be returned.
2146 * @see ModelElementFacade#findTaggedValue(String tagName)
2147 */
2148 public Object findTaggedValue(String tagName)
2149 {
2150 return this.getSuperServiceOperation().findTaggedValue(tagName);
2151 }
2152
2153 /**
2154 * Returns all the values for the tagged value with the specified name. The returned collection
2155 * will contains only String instances, or will be empty. Never null.
2156 * @see ModelElementFacade#findTaggedValues(String tagName)
2157 */
2158 public Collection<Object> findTaggedValues(String tagName)
2159 {
2160 return this.getSuperServiceOperation().findTaggedValues(tagName);
2161 }
2162
2163 /**
2164 * Returns the fully qualified name of the model element. The fully qualified name includes
2165 * complete package qualified name of the underlying model element. The templates parameter will
2166 * be replaced by the correct one given the binding relation of the parameter to this element.
2167 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2168 */
2169 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2170 {
2171 return this.getSuperServiceOperation().getBindedFullyQualifiedName(bindedElement);
2172 }
2173
2174 /**
2175 * Gets all constraints belonging to the model element.
2176 * @see ModelElementFacade#getConstraints()
2177 */
2178 public Collection<ConstraintFacade> getConstraints()
2179 {
2180 return this.getSuperServiceOperation().getConstraints();
2181 }
2182
2183 /**
2184 * Returns the constraints of the argument kind that have been placed onto this model. Typical
2185 * kinds are "inv", "pre" and "post". Other kinds are possible.
2186 * @see ModelElementFacade#getConstraints(String kind)
2187 */
2188 public Collection<ConstraintFacade> getConstraints(String kind)
2189 {
2190 return this.getSuperServiceOperation().getConstraints(kind);
2191 }
2192
2193 /**
2194 * Gets the documentation for the model element, The indent argument is prefixed to each line.
2195 * By default this method wraps lines after 64 characters.
2196 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
2197 * @see ModelElementFacade#getDocumentation(String indent)
2198 */
2199 public String getDocumentation(String indent)
2200 {
2201 return this.getSuperServiceOperation().getDocumentation(indent);
2202 }
2203
2204 /**
2205 * This method returns the documentation for this model element, with the lines wrapped after
2206 * the specified number of characters, values of less than 1 will indicate no line wrapping is
2207 * required. By default paragraphs are returned as HTML.
2208 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
2209 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
2210 */
2211 public String getDocumentation(String indent, int lineLength)
2212 {
2213 return this.getSuperServiceOperation().getDocumentation(indent, lineLength);
2214 }
2215
2216 /**
2217 * This method returns the documentation for this model element, with the lines wrapped after
2218 * the specified number of characters, values of less than 1 will indicate no line wrapping is
2219 * required. HTML style determines if HTML Escaping is applied.
2220 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
2221 */
2222 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
2223 {
2224 return this.getSuperServiceOperation().getDocumentation(indent, lineLength, htmlStyle);
2225 }
2226
2227 /**
2228 * The fully qualified name of this model element.
2229 * @see ModelElementFacade#getFullyQualifiedName()
2230 */
2231 public String getFullyQualifiedName()
2232 {
2233 return this.getSuperServiceOperation().getFullyQualifiedName();
2234 }
2235
2236 /**
2237 * Returns the fully qualified name of the model element. The fully qualified name includes
2238 * complete package qualified name of the underlying model element. If modelName is true, then
2239 * the original name of the model element (the name contained within the model) will be the name
2240 * returned, otherwise a name from a language mapping will be returned.
2241 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
2242 */
2243 public String getFullyQualifiedName(boolean modelName)
2244 {
2245 return this.getSuperServiceOperation().getFullyQualifiedName(modelName);
2246 }
2247
2248 /**
2249 * Returns the fully qualified name as a path, the returned value always starts with out a slash
2250 * '/'.
2251 * @see ModelElementFacade#getFullyQualifiedNamePath()
2252 */
2253 public String getFullyQualifiedNamePath()
2254 {
2255 return this.getSuperServiceOperation().getFullyQualifiedNamePath();
2256 }
2257
2258 /**
2259 * Gets the unique identifier of the underlying model element.
2260 * @see ModelElementFacade#getId()
2261 */
2262 public String getId()
2263 {
2264 return this.getSuperServiceOperation().getId();
2265 }
2266
2267 /**
2268 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
2269 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
2270 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
2271 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
2272 * JDK5 compiler level.
2273 * @see ModelElementFacade#getKeywords()
2274 */
2275 public Collection<String> getKeywords()
2276 {
2277 return this.getSuperServiceOperation().getKeywords();
2278 }
2279
2280 /**
2281 * UML2: Retrieves a localized label for this named element.
2282 * @see ModelElementFacade#getLabel()
2283 */
2284 public String getLabel()
2285 {
2286 return this.getSuperServiceOperation().getLabel();
2287 }
2288
2289 /**
2290 * The language mappings that have been set for this model element.
2291 * @see ModelElementFacade#getLanguageMappings()
2292 */
2293 public TypeMappings getLanguageMappings()
2294 {
2295 return this.getSuperServiceOperation().getLanguageMappings();
2296 }
2297
2298 /**
2299 * Return the model containing this model element (multiple models may be loaded and processed
2300 * at the same time).
2301 * @see ModelElementFacade#getModel()
2302 */
2303 public ModelFacade getModel()
2304 {
2305 return this.getSuperServiceOperation().getModel();
2306 }
2307
2308 /**
2309 * The name of the model element.
2310 * @see ModelElementFacade#getName()
2311 */
2312 public String getName()
2313 {
2314 return this.getSuperServiceOperation().getName();
2315 }
2316
2317 /**
2318 * Gets the package to which this model element belongs.
2319 * @see ModelElementFacade#getPackage()
2320 */
2321 public ModelElementFacade getPackage()
2322 {
2323 return this.getSuperServiceOperation().getPackage();
2324 }
2325
2326 /**
2327 * The name of this model element's package.
2328 * @see ModelElementFacade#getPackageName()
2329 */
2330 public String getPackageName()
2331 {
2332 return this.getSuperServiceOperation().getPackageName();
2333 }
2334
2335 /**
2336 * Gets the package name (optionally providing the ability to retrieve the model name and not
2337 * the mapped name).
2338 * @see ModelElementFacade#getPackageName(boolean modelName)
2339 */
2340 public String getPackageName(boolean modelName)
2341 {
2342 return this.getSuperServiceOperation().getPackageName(modelName);
2343 }
2344
2345 /**
2346 * Returns the package as a path, the returned value always starts with out a slash '/'.
2347 * @see ModelElementFacade#getPackagePath()
2348 */
2349 public String getPackagePath()
2350 {
2351 return this.getSuperServiceOperation().getPackagePath();
2352 }
2353
2354 /**
2355 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
2356 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
2357 * the names of the containing namespaces starting at the root of the hierarchy and ending with
2358 * the name of the NamedElement itself.
2359 * @see ModelElementFacade#getQualifiedName()
2360 */
2361 public String getQualifiedName()
2362 {
2363 return this.getSuperServiceOperation().getQualifiedName();
2364 }
2365
2366 /**
2367 * Gets the root package for the model element.
2368 * @see ModelElementFacade#getRootPackage()
2369 */
2370 public PackageFacade getRootPackage()
2371 {
2372 return this.getSuperServiceOperation().getRootPackage();
2373 }
2374
2375 /**
2376 * Gets the dependencies for which this model element is the source.
2377 * @see ModelElementFacade#getSourceDependencies()
2378 */
2379 public Collection<DependencyFacade> getSourceDependencies()
2380 {
2381 return this.getSuperServiceOperation().getSourceDependencies();
2382 }
2383
2384 /**
2385 * If this model element is the context of an activity graph, this represents that activity
2386 * graph.
2387 * @see ModelElementFacade#getStateMachineContext()
2388 */
2389 public StateMachineFacade getStateMachineContext()
2390 {
2391 return this.getSuperServiceOperation().getStateMachineContext();
2392 }
2393
2394 /**
2395 * The collection of ALL stereotype names for this model element.
2396 * @see ModelElementFacade#getStereotypeNames()
2397 */
2398 public Collection<String> getStereotypeNames()
2399 {
2400 return this.getSuperServiceOperation().getStereotypeNames();
2401 }
2402
2403 /**
2404 * Gets all stereotypes for this model element.
2405 * @see ModelElementFacade#getStereotypes()
2406 */
2407 public Collection<StereotypeFacade> getStereotypes()
2408 {
2409 return this.getSuperServiceOperation().getStereotypes();
2410 }
2411
2412 /**
2413 * Return the TaggedValues associated with this model element, under all stereotypes.
2414 * @see ModelElementFacade#getTaggedValues()
2415 */
2416 public Collection<TaggedValueFacade> getTaggedValues()
2417 {
2418 return this.getSuperServiceOperation().getTaggedValues();
2419 }
2420
2421 /**
2422 * Gets the dependencies for which this model element is the target.
2423 * @see ModelElementFacade#getTargetDependencies()
2424 */
2425 public Collection<DependencyFacade> getTargetDependencies()
2426 {
2427 return this.getSuperServiceOperation().getTargetDependencies();
2428 }
2429
2430 /**
2431 * Get the template parameter for this model element having the parameterName
2432 * @see ModelElementFacade#getTemplateParameter(String parameterName)
2433 */
2434 public Object getTemplateParameter(String parameterName)
2435 {
2436 return this.getSuperServiceOperation().getTemplateParameter(parameterName);
2437 }
2438
2439 /**
2440 * Get the template parameters for this model element
2441 * @see ModelElementFacade#getTemplateParameters()
2442 */
2443 public Collection<TemplateParameterFacade> getTemplateParameters()
2444 {
2445 return this.getSuperServiceOperation().getTemplateParameters();
2446 }
2447
2448 /**
2449 * The visibility (i.e. public, private, protected or package) of the model element, will
2450 * attempt a lookup for these values in the language mappings (if any).
2451 * @see ModelElementFacade#getVisibility()
2452 */
2453 public String getVisibility()
2454 {
2455 return this.getSuperServiceOperation().getVisibility();
2456 }
2457
2458 /**
2459 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
2460 * is taken into account when searching for the stereotype), false otherwise.
2461 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
2462 */
2463 public boolean hasExactStereotype(String stereotypeName)
2464 {
2465 return this.getSuperServiceOperation().hasExactStereotype(stereotypeName);
2466 }
2467
2468 /**
2469 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
2470 * pipe, semicolon, or << >>
2471 * @see ModelElementFacade#hasKeyword(String keywordName)
2472 */
2473 public boolean hasKeyword(String keywordName)
2474 {
2475 return this.getSuperServiceOperation().hasKeyword(keywordName);
2476 }
2477
2478 /**
2479 * Returns true if the model element has the specified stereotype. If the stereotype itself
2480 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
2481 * one of the stereotype's ancestors has a matching name this method will return true, false
2482 * otherwise.
2483 * For example, if we have a certain stereotype called <<exception>> and a model element has a
2484 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
2485 * method with 'stereotypeName' defined as 'exception' the method would return true since
2486 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
2487 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
2488 * @see ModelElementFacade#hasStereotype(String stereotypeName)
2489 */
2490 public boolean hasStereotype(String stereotypeName)
2491 {
2492 return this.getSuperServiceOperation().hasStereotype(stereotypeName);
2493 }
2494
2495 /**
2496 * True if there are target dependencies from this element that are instances of BindingFacade.
2497 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
2498 * @see ModelElementFacade#isBindingDependenciesPresent()
2499 */
2500 public boolean isBindingDependenciesPresent()
2501 {
2502 return this.getSuperServiceOperation().isBindingDependenciesPresent();
2503 }
2504
2505 /**
2506 * Indicates if any constraints are present on this model element.
2507 * @see ModelElementFacade#isConstraintsPresent()
2508 */
2509 public boolean isConstraintsPresent()
2510 {
2511 return this.getSuperServiceOperation().isConstraintsPresent();
2512 }
2513
2514 /**
2515 * Indicates if any documentation is present on this model element.
2516 * @see ModelElementFacade#isDocumentationPresent()
2517 */
2518 public boolean isDocumentationPresent()
2519 {
2520 return this.getSuperServiceOperation().isDocumentationPresent();
2521 }
2522
2523 /**
2524 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
2525 * @see ModelElementFacade#isReservedWord()
2526 */
2527 public boolean isReservedWord()
2528 {
2529 return this.getSuperServiceOperation().isReservedWord();
2530 }
2531
2532 /**
2533 * True is there are template parameters on this model element. For UML2, applies to Class,
2534 * Operation, Property, and Parameter.
2535 * @see ModelElementFacade#isTemplateParametersPresent()
2536 */
2537 public boolean isTemplateParametersPresent()
2538 {
2539 return this.getSuperServiceOperation().isTemplateParametersPresent();
2540 }
2541
2542 /**
2543 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
2544 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
2545 * Enumerations and Interfaces, optionally applies on other model elements.
2546 * @see ModelElementFacade#isValidIdentifierName()
2547 */
2548 public boolean isValidIdentifierName()
2549 {
2550 return this.getSuperServiceOperation().isValidIdentifierName();
2551 }
2552
2553 /**
2554 * Searches for the constraint with the specified 'name' on this model element, and if found
2555 * translates it using the specified 'translation' from a translation library discovered by the
2556 * framework.
2557 * @see ModelElementFacade#translateConstraint(String name, String translation)
2558 */
2559 public String translateConstraint(String name, String translation)
2560 {
2561 return this.getSuperServiceOperation().translateConstraint(name, translation);
2562 }
2563
2564 /**
2565 * Translates all constraints belonging to this model element with the given 'translation'.
2566 * @see ModelElementFacade#translateConstraints(String translation)
2567 */
2568 public String[] translateConstraints(String translation)
2569 {
2570 return this.getSuperServiceOperation().translateConstraints(translation);
2571 }
2572
2573 /**
2574 * Translates the constraints of the specified 'kind' belonging to this model element.
2575 * @see ModelElementFacade#translateConstraints(String kind, String translation)
2576 */
2577 public String[] translateConstraints(String kind, String translation)
2578 {
2579 return this.getSuperServiceOperation().translateConstraints(kind, translation);
2580 }
2581
2582 /**
2583 * Finds the parameter on this operation having the given name, if no parameter is found, null
2584 * is returned instead.
2585 * @see OperationFacade#findParameter(String name)
2586 */
2587 public ParameterFacade findParameter(String name)
2588 {
2589 return this.getSuperServiceOperation().findParameter(name);
2590 }
2591
2592 /**
2593 * Searches the given feature for the specified tag.
2594 * If the follow boolean is set to true then the search will continue from the class operation
2595 * to the class itself and then up the class hierarchy.
2596 * @see OperationFacade#findTaggedValue(String name, boolean follow)
2597 */
2598 public Object findTaggedValue(String name, boolean follow)
2599 {
2600 return this.getSuperServiceOperation().findTaggedValue(name, follow);
2601 }
2602
2603 /**
2604 * A comma separated list of all argument names.
2605 * @see OperationFacade#getArgumentNames()
2606 */
2607 public String getArgumentNames()
2608 {
2609 return this.getSuperServiceOperation().getArgumentNames();
2610 }
2611
2612 /**
2613 * A comma separated list of all types of each argument, in order.
2614 * @see OperationFacade#getArgumentTypeNames()
2615 */
2616 public String getArgumentTypeNames()
2617 {
2618 return this.getSuperServiceOperation().getArgumentTypeNames();
2619 }
2620
2621 /**
2622 * Specification of an argument used to pass information into or out of an invocation of a
2623 * behavioral
2624 * feature. Parameters are allowed to be treated as connectable elements. Parameters have
2625 * support for
2626 * streaming, exceptions, and parameter sets.
2627 * @see OperationFacade#getArguments()
2628 */
2629 public Collection<ParameterFacade> getArguments()
2630 {
2631 return this.getSuperServiceOperation().getArguments();
2632 }
2633
2634 /**
2635 * Constructs the operation call with the operation name
2636 * @see OperationFacade#getCall()
2637 */
2638 public String getCall()
2639 {
2640 return this.getSuperServiceOperation().getCall();
2641 }
2642
2643 /**
2644 * Returns the concurrency modifier for this operation (i.e. concurrent, guarded or sequential)
2645 * of the model element, will attempt a lookup for these values in the language mappings (if
2646 * any).
2647 * @see OperationFacade#getConcurrency()
2648 */
2649 public String getConcurrency()
2650 {
2651 return this.getSuperServiceOperation().getConcurrency();
2652 }
2653
2654 /**
2655 * A comma separated list containing all exceptions that this operation throws. Exceptions are
2656 * determined through dependencies that have the target element stereotyped as <<Exception>>.
2657 * @see OperationFacade#getExceptionList()
2658 */
2659 public String getExceptionList()
2660 {
2661 return this.getSuperServiceOperation().getExceptionList();
2662 }
2663
2664 /**
2665 * Returns a comma separated list of exceptions appended to the comma separated list of fully
2666 * qualified 'initialException' classes passed in to this method.
2667 * @see OperationFacade#getExceptionList(String initialExceptions)
2668 */
2669 public String getExceptionList(String initialExceptions)
2670 {
2671 return this.getSuperServiceOperation().getExceptionList(initialExceptions);
2672 }
2673
2674 /**
2675 * A collection of all exceptions thrown by this operation.
2676 * @see OperationFacade#getExceptions()
2677 */
2678 public Collection<ModelElementFacade> getExceptions()
2679 {
2680 return this.getSuperServiceOperation().getExceptions();
2681 }
2682
2683 /**
2684 * Return Type with multiplicity taken into account. UML14 does not allow multiplicity *.
2685 * @see OperationFacade#getGetterSetterReturnTypeName()
2686 */
2687 public String getGetterSetterReturnTypeName()
2688 {
2689 return this.getSuperServiceOperation().getGetterSetterReturnTypeName();
2690 }
2691
2692 /**
2693 * the lower value for the multiplicity
2694 * -only applicable for UML2
2695 * @see OperationFacade#getLower()
2696 */
2697 public int getLower()
2698 {
2699 return this.getSuperServiceOperation().getLower();
2700 }
2701
2702 /**
2703 * Returns the operation method body determined from UML sequence diagrams or other UML sources.
2704 * @see OperationFacade#getMethodBody()
2705 */
2706 public String getMethodBody()
2707 {
2708 return this.getSuperServiceOperation().getMethodBody();
2709 }
2710
2711 /**
2712 * The operation this operation overrides, null if this operation is not overriding.
2713 * @see OperationFacade#getOverriddenOperation()
2714 */
2715 public OperationFacade getOverriddenOperation()
2716 {
2717 return this.getSuperServiceOperation().getOverriddenOperation();
2718 }
2719
2720 /**
2721 * Gets the owner of this operation
2722 * @see OperationFacade#getOwner()
2723 */
2724 public ClassifierFacade getOwner()
2725 {
2726 return this.getSuperServiceOperation().getOwner();
2727 }
2728
2729 /**
2730 * Return all parameters for the operation, including the return parameter.
2731 * @see OperationFacade#getParameters()
2732 */
2733 public Collection<ParameterFacade> getParameters()
2734 {
2735 return this.getSuperServiceOperation().getParameters();
2736 }
2737
2738 /**
2739 * The name of the operation that handles postcondition constraints.
2740 * @see OperationFacade#getPostconditionName()
2741 */
2742 public String getPostconditionName()
2743 {
2744 return this.getSuperServiceOperation().getPostconditionName();
2745 }
2746
2747 /**
2748 * The postcondition constraints belonging to this operation.
2749 * @see OperationFacade#getPostconditions()
2750 */
2751 public Collection<ConstraintFacade> getPostconditions()
2752 {
2753 return this.getSuperServiceOperation().getPostconditions();
2754 }
2755
2756 /**
2757 * The call to the precondition operation.
2758 * @see OperationFacade#getPreconditionCall()
2759 */
2760 public String getPreconditionCall()
2761 {
2762 return this.getSuperServiceOperation().getPreconditionCall();
2763 }
2764
2765 /**
2766 * The name of the operation that handles precondition constraints.
2767 * @see OperationFacade#getPreconditionName()
2768 */
2769 public String getPreconditionName()
2770 {
2771 return this.getSuperServiceOperation().getPreconditionName();
2772 }
2773
2774 /**
2775 * The signature of the precondition operation.
2776 * @see OperationFacade#getPreconditionSignature()
2777 */
2778 public String getPreconditionSignature()
2779 {
2780 return this.getSuperServiceOperation().getPreconditionSignature();
2781 }
2782
2783 /**
2784 * The precondition constraints belonging to this operation.
2785 * @see OperationFacade#getPreconditions()
2786 */
2787 public Collection<ConstraintFacade> getPreconditions()
2788 {
2789 return this.getSuperServiceOperation().getPreconditions();
2790 }
2791
2792 /**
2793 * (UML2 Only). Get the actual return parameter (which may have stereotypes etc).
2794 * @see OperationFacade#getReturnParameter()
2795 */
2796 public ParameterFacade getReturnParameter()
2797 {
2798 return this.getSuperServiceOperation().getReturnParameter();
2799 }
2800
2801 /**
2802 * The operation return type parameter.
2803 * @see OperationFacade#getReturnType()
2804 */
2805 public ClassifierFacade getReturnType()
2806 {
2807 return this.getSuperServiceOperation().getReturnType();
2808 }
2809
2810 /**
2811 * Return the operation signature, including public/protested abstract returnType name plus
2812 * argument type and name
2813 * @see OperationFacade#getSignature()
2814 */
2815 public String getSignature()
2816 {
2817 return this.getSuperServiceOperation().getSignature();
2818 }
2819
2820 /**
2821 * Returns the signature of the operation and optionally appends the argument names (if
2822 * withArgumentNames is true), otherwise returns the signature with just the types alone in the
2823 * signature.
2824 * @see OperationFacade#getSignature(boolean withArgumentNames)
2825 */
2826 public String getSignature(boolean withArgumentNames)
2827 {
2828 return this.getSuperServiceOperation().getSignature(withArgumentNames);
2829 }
2830
2831 /**
2832 * Returns the signature of the operation and optionally appends the given 'argumentModifier' to
2833 * each argument.
2834 * @see OperationFacade#getSignature(String argumentModifier)
2835 */
2836 public String getSignature(String argumentModifier)
2837 {
2838 return this.getSuperServiceOperation().getSignature(argumentModifier);
2839 }
2840
2841 /**
2842 * A comma-separated parameter list (type and name of each parameter) of an operation.
2843 * @see OperationFacade#getTypedArgumentList()
2844 */
2845 public String getTypedArgumentList()
2846 {
2847 return this.getSuperServiceOperation().getTypedArgumentList();
2848 }
2849
2850 /**
2851 * A comma-separated parameter list (type and name of each parameter) of an operation with an
2852 * optional modifier (i.e final) before each parameter.
2853 * @see OperationFacade#getTypedArgumentList(String modifier)
2854 */
2855 public String getTypedArgumentList(String modifier)
2856 {
2857 return this.getSuperServiceOperation().getTypedArgumentList(modifier);
2858 }
2859
2860 /**
2861 * the upper value for the multiplicity (will be -1 for *)
2862 * - only applicable for UML2
2863 * @see OperationFacade#getUpper()
2864 */
2865 public int getUpper()
2866 {
2867 return this.getSuperServiceOperation().getUpper();
2868 }
2869
2870 /**
2871 * True is the operation is abstract.
2872 * @see OperationFacade#isAbstract()
2873 */
2874 public boolean isAbstract()
2875 {
2876 return this.getSuperServiceOperation().isAbstract();
2877 }
2878
2879 /**
2880 * True if the operation has (i.e. throws any exceptions) false otherwise.
2881 * @see OperationFacade#isExceptionsPresent()
2882 */
2883 public boolean isExceptionsPresent()
2884 {
2885 return this.getSuperServiceOperation().isExceptionsPresent();
2886 }
2887
2888 /**
2889 * IsLeaf property in the operation. If true, operation is final, cannot be extended or
2890 * implemented by a descendant. Default=false.
2891 * @see OperationFacade#isLeaf()
2892 */
2893 public boolean isLeaf()
2894 {
2895 return this.getSuperServiceOperation().isLeaf();
2896 }
2897
2898 /**
2899 * UML2 only. If the return type parameter multiplicity>1 OR the operation multiplicity>1.
2900 * Default=false.
2901 * @see OperationFacade#isMany()
2902 */
2903 public boolean isMany()
2904 {
2905 return this.getSuperServiceOperation().isMany();
2906 }
2907
2908 /**
2909 * UML2 only: If isMany (Collection type returned), is the type unique within the collection.
2910 * Unique+Ordered determines CollectionType implementation of return result. Default=false.
2911 * @see OperationFacade#isOrdered()
2912 */
2913 public boolean isOrdered()
2914 {
2915 return this.getSuperServiceOperation().isOrdered();
2916 }
2917
2918 /**
2919 * True if this operation overrides an operation defined in an ancestor class. An operation
2920 * overrides when the names of the operations as well as the types of the arguments are equal.
2921 * The return type may be different and is, as well as any exceptions, ignored.
2922 * @see OperationFacade#isOverriding()
2923 */
2924 public boolean isOverriding()
2925 {
2926 return this.getSuperServiceOperation().isOverriding();
2927 }
2928
2929 /**
2930 * Whether any postcondition constraints are present on this operation.
2931 * @see OperationFacade#isPostconditionsPresent()
2932 */
2933 public boolean isPostconditionsPresent()
2934 {
2935 return this.getSuperServiceOperation().isPostconditionsPresent();
2936 }
2937
2938 /**
2939 * Whether any precondition constraints are present on this operation.
2940 * @see OperationFacade#isPreconditionsPresent()
2941 */
2942 public boolean isPreconditionsPresent()
2943 {
2944 return this.getSuperServiceOperation().isPreconditionsPresent();
2945 }
2946
2947 /**
2948 * Indicates whether or not this operation is a query operation.
2949 * @see OperationFacade#isQuery()
2950 */
2951 public boolean isQuery()
2952 {
2953 return this.getSuperServiceOperation().isQuery();
2954 }
2955
2956 /**
2957 * True/false depending on whether or not the operation has a return type or not (i.e. a return
2958 * type of something other than void).
2959 * @see OperationFacade#isReturnTypePresent()
2960 */
2961 public boolean isReturnTypePresent()
2962 {
2963 return this.getSuperServiceOperation().isReturnTypePresent();
2964 }
2965
2966 /**
2967 * True is the operation is static (only a single instance can be instantiated).
2968 * @see OperationFacade#isStatic()
2969 */
2970 public boolean isStatic()
2971 {
2972 return this.getSuperServiceOperation().isStatic();
2973 }
2974
2975 /**
2976 * UML2 only: for Collection return type, is the type unique within the collection.
2977 * Unique+Ordered determines the returned CollectionType. Default=false.
2978 * @see OperationFacade#isUnique()
2979 */
2980 public boolean isUnique()
2981 {
2982 return this.getSuperServiceOperation().isUnique();
2983 }
2984
2985 /**
2986 * The destination for any incoming messages.
2987 * @see ServiceOperation#getIncomingDestination()
2988 */
2989 public Destination getIncomingDestination()
2990 {
2991 return this.getSuperServiceOperation().getIncomingDestination();
2992 }
2993
2994 /**
2995 * The destination for any outgoing messages.
2996 * @see ServiceOperation#getOutgoingDestination()
2997 */
2998 public Destination getOutgoingDestination()
2999 {
3000 return this.getSuperServiceOperation().getOutgoingDestination();
3001 }
3002
3003 /**
3004 * The users of the service operation, these are the actor's that can access this operation.
3005 * @see ServiceOperation#getRoles()
3006 */
3007 public Collection<Role> getRoles()
3008 {
3009 return this.getSuperServiceOperation().getRoles();
3010 }
3011
3012 /**
3013 * The service which owns the service operation.
3014 * @see ServiceOperation#getService()
3015 */
3016 public Service getService()
3017 {
3018 return this.getSuperServiceOperation().getService();
3019 }
3020
3021 /**
3022 * Whether or not this operation represents an "incoming" message operation (i.e. it receives
3023 * messages from Queues or Topics).
3024 * @see ServiceOperation#isIncomingMessageOperation()
3025 */
3026 public boolean isIncomingMessageOperation()
3027 {
3028 return this.getSuperServiceOperation().isIncomingMessageOperation();
3029 }
3030
3031 /**
3032 * Whether or not this is operation accepts incoming or outgoing messages.
3033 * @see ServiceOperation#isMessageOperation()
3034 */
3035 public boolean isMessageOperation()
3036 {
3037 return this.getSuperServiceOperation().isMessageOperation();
3038 }
3039
3040 /**
3041 * Whether or not this service operation represents an "outgoing" messaging operation (i.e. it
3042 * sends messages to Queues or Topics).
3043 * @see ServiceOperation#isOutgoingMessageOperation()
3044 */
3045 public boolean isOutgoingMessageOperation()
3046 {
3047 return this.getSuperServiceOperation().isOutgoingMessageOperation();
3048 }
3049
3050 /**
3051 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
3052 */
3053 @Override
3054 public void initialize()
3055 {
3056 this.getSuperServiceOperation().initialize();
3057 }
3058
3059 /**
3060 * @return Object getSuperServiceOperation().getValidationOwner()
3061 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
3062 */
3063 @Override
3064 public Object getValidationOwner()
3065 {
3066 Object owner = this.getSuperServiceOperation().getValidationOwner();
3067 return owner;
3068 }
3069
3070 /**
3071 * @return String getSuperServiceOperation().getValidationName()
3072 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
3073 */
3074 @Override
3075 public String getValidationName()
3076 {
3077 String name = this.getSuperServiceOperation().getValidationName();
3078 return name;
3079 }
3080
3081 /**
3082 * @param validationMessages Collection<ModelValidationMessage>
3083 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
3084 */
3085 @Override
3086 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
3087 {
3088 this.getSuperServiceOperation().validateInvariants(validationMessages);
3089 }
3090
3091 /**
3092 * The property that stores the name of the metafacade.
3093 */
3094 private static final String NAME_PROPERTY = "name";
3095 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
3096
3097 /**
3098 * @see Object#toString()
3099 */
3100 @Override
3101 public String toString()
3102 {
3103 final StringBuilder toString = new StringBuilder(this.getClass().getName());
3104 toString.append("[");
3105 try
3106 {
3107 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
3108 }
3109 catch (final Throwable tryAgain)
3110 {
3111 try
3112 {
3113 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
3114 }
3115 catch (final Throwable ignore)
3116 {
3117 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
3118 }
3119 }
3120 toString.append("]");
3121 return toString.toString();
3122 }
3123 }