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.AssociationEndFacade;
14 import org.andromda.metafacades.uml.AttributeFacade;
15 import org.andromda.metafacades.uml.ClassifierFacade;
16 import org.andromda.metafacades.uml.ConstraintFacade;
17 import org.andromda.metafacades.uml.DependencyFacade;
18 import org.andromda.metafacades.uml.Destination;
19 import org.andromda.metafacades.uml.GeneralizableElementFacade;
20 import org.andromda.metafacades.uml.GeneralizationFacade;
21 import org.andromda.metafacades.uml.ModelElementFacade;
22 import org.andromda.metafacades.uml.ModelFacade;
23 import org.andromda.metafacades.uml.OperationFacade;
24 import org.andromda.metafacades.uml.PackageFacade;
25 import org.andromda.metafacades.uml.Role;
26 import org.andromda.metafacades.uml.Service;
27 import org.andromda.metafacades.uml.StateMachineFacade;
28 import org.andromda.metafacades.uml.StereotypeFacade;
29 import org.andromda.metafacades.uml.TaggedValueFacade;
30 import org.andromda.metafacades.uml.TemplateParameterFacade;
31 import org.andromda.metafacades.uml.TypeMappings;
32 import org.apache.log4j.Logger;
33
34 /**
35 * Represents a Session EJB.
36 * MetafacadeLogic for EJB3SessionFacade
37 *
38 * @see EJB3SessionFacade
39 */
40 public abstract class EJB3SessionFacadeLogic
41 extends MetafacadeBase
42 implements EJB3SessionFacade
43 {
44 /**
45 * The underlying UML object
46 * @see Object
47 */
48 protected Object metaObject;
49
50 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
51 * @param metaObjectIn
52 * @param context
53 */
54 protected EJB3SessionFacadeLogic(Object metaObjectIn, String context)
55 {
56 super(metaObjectIn, getContext(context));
57 this.superService =
58 (Service)
59 MetafacadeFactory.getInstance().createFacadeImpl(
60 "org.andromda.metafacades.uml.Service",
61 metaObjectIn,
62 getContext(context));
63 this.metaObject = metaObjectIn;
64 }
65
66 /**
67 * The logger instance.
68 */
69 private static final Logger logger = Logger.getLogger(EJB3SessionFacadeLogic.class);
70
71 /**
72 * Gets the context for this metafacade logic instance.
73 * @param context String. Set to EJB3SessionFacade if null
74 * @return context String
75 */
76 private static String getContext(String context)
77 {
78 if (context == null)
79 {
80 context = "org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade";
81 }
82 return context;
83 }
84
85 private Service superService;
86 private boolean superServiceInitialized = false;
87
88 /**
89 * Gets the Service parent instance.
90 * @return this.superService Service
91 */
92 private Service getSuperService()
93 {
94 if (!this.superServiceInitialized)
95 {
96 ((MetafacadeBase)this.superService).setMetafacadeContext(this.getMetafacadeContext());
97 this.superServiceInitialized = true;
98 }
99 return this.superService;
100 }
101
102 /** Reset context only for non-root metafacades
103 * @param context
104 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
105 */
106 @Override
107 public void resetMetafacadeContext(String context)
108 {
109 if (!this.contextRoot) // reset context only for non-root metafacades
110 {
111 context = getContext(context); // to have same value as in original constructor call
112 setMetafacadeContext (context);
113 if (this.superServiceInitialized)
114 {
115 ((MetafacadeBase)this.superService).resetMetafacadeContext(context);
116 }
117 }
118 }
119
120 /**
121 * @return boolean true always
122 * @see EJB3SessionFacade
123 */
124 public boolean isEJB3SessionFacadeMetaType()
125 {
126 return true;
127 }
128
129 // --------------- attributes ---------------------
130
131 /**
132 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSyntheticCreateMethodAllowed()
133 * @return boolean
134 */
135 protected abstract boolean handleIsSyntheticCreateMethodAllowed();
136
137 private boolean __syntheticCreateMethodAllowed1a;
138 private boolean __syntheticCreateMethodAllowed1aSet = false;
139
140 /**
141 * Whether or not to allow a synthetic (auto generated) create method.
142 * @return (boolean)handleIsSyntheticCreateMethodAllowed()
143 */
144 public final boolean isSyntheticCreateMethodAllowed()
145 {
146 boolean syntheticCreateMethodAllowed1a = this.__syntheticCreateMethodAllowed1a;
147 if (!this.__syntheticCreateMethodAllowed1aSet)
148 {
149 // syntheticCreateMethodAllowed has no pre constraints
150 syntheticCreateMethodAllowed1a = handleIsSyntheticCreateMethodAllowed();
151 // syntheticCreateMethodAllowed has no post constraints
152 this.__syntheticCreateMethodAllowed1a = syntheticCreateMethodAllowed1a;
153 if (isMetafacadePropertyCachingEnabled())
154 {
155 this.__syntheticCreateMethodAllowed1aSet = true;
156 }
157 }
158 return syntheticCreateMethodAllowed1a;
159 }
160
161 /**
162 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getBusinessOperations()
163 * @return Collection
164 */
165 protected abstract Collection handleGetBusinessOperations();
166
167 private Collection __businessOperations2a;
168 private boolean __businessOperations2aSet = false;
169
170 /**
171 * All "business" operations for this Session EJB. These are any operations that are NOT
172 * identified as create methods.
173 * @return (Collection)handleGetBusinessOperations()
174 */
175 public final Collection getBusinessOperations()
176 {
177 Collection businessOperations2a = this.__businessOperations2a;
178 if (!this.__businessOperations2aSet)
179 {
180 // businessOperations has no pre constraints
181 businessOperations2a = handleGetBusinessOperations();
182 // businessOperations has no post constraints
183 this.__businessOperations2a = businessOperations2a;
184 if (isMetafacadePropertyCachingEnabled())
185 {
186 this.__businessOperations2aSet = true;
187 }
188 }
189 return businessOperations2a;
190 }
191
192 /**
193 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getAllInstanceAttributes()
194 * @return List
195 */
196 protected abstract List handleGetAllInstanceAttributes();
197
198 private List __allInstanceAttributes3a;
199 private boolean __allInstanceAttributes3aSet = false;
200
201 /**
202 * All instanceAttributes for this session EJB. The list includes the instanceAttributes that
203 * are inherited from super classes. The list contains the inherited instanceAttributes first,
204 * followed by the instanceAttributes defined in this class.
205 * @return (List)handleGetAllInstanceAttributes()
206 */
207 public final List getAllInstanceAttributes()
208 {
209 List allInstanceAttributes3a = this.__allInstanceAttributes3a;
210 if (!this.__allInstanceAttributes3aSet)
211 {
212 // allInstanceAttributes has no pre constraints
213 allInstanceAttributes3a = handleGetAllInstanceAttributes();
214 // allInstanceAttributes has no post constraints
215 this.__allInstanceAttributes3a = allInstanceAttributes3a;
216 if (isMetafacadePropertyCachingEnabled())
217 {
218 this.__allInstanceAttributes3aSet = true;
219 }
220 }
221 return allInstanceAttributes3a;
222 }
223
224 /**
225 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getInheritedInstanceAttributes()
226 * @return List
227 */
228 protected abstract List handleGetInheritedInstanceAttributes();
229
230 private List __inheritedInstanceAttributes4a;
231 private boolean __inheritedInstanceAttributes4aSet = false;
232
233 /**
234 * Alll inherited instanceAttributes this session EJB. The instanceAttributes are grouped by
235 * the class that defines the instanceAttributes, with instanceAttributes from the most removed
236 * super class first.
237 * @return (List)handleGetInheritedInstanceAttributes()
238 */
239 public final List getInheritedInstanceAttributes()
240 {
241 List inheritedInstanceAttributes4a = this.__inheritedInstanceAttributes4a;
242 if (!this.__inheritedInstanceAttributes4aSet)
243 {
244 // inheritedInstanceAttributes has no pre constraints
245 inheritedInstanceAttributes4a = handleGetInheritedInstanceAttributes();
246 // inheritedInstanceAttributes has no post constraints
247 this.__inheritedInstanceAttributes4a = inheritedInstanceAttributes4a;
248 if (isMetafacadePropertyCachingEnabled())
249 {
250 this.__inheritedInstanceAttributes4aSet = true;
251 }
252 }
253 return inheritedInstanceAttributes4a;
254 }
255
256 /**
257 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getJndiNameRemote()
258 * @return String
259 */
260 protected abstract String handleGetJndiNameRemote();
261
262 private String __jndiNameRemote5a;
263 private boolean __jndiNameRemote5aSet = false;
264
265 /**
266 * The JNDI name to which this session EJB remote interface is bound.
267 * @return (String)handleGetJndiNameRemote()
268 */
269 public final String getJndiNameRemote()
270 {
271 String jndiNameRemote5a = this.__jndiNameRemote5a;
272 if (!this.__jndiNameRemote5aSet)
273 {
274 // jndiNameRemote has no pre constraints
275 jndiNameRemote5a = handleGetJndiNameRemote();
276 // jndiNameRemote has no post constraints
277 this.__jndiNameRemote5a = jndiNameRemote5a;
278 if (isMetafacadePropertyCachingEnabled())
279 {
280 this.__jndiNameRemote5aSet = true;
281 }
282 }
283 return jndiNameRemote5a;
284 }
285
286 /**
287 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isStateful()
288 * @return boolean
289 */
290 protected abstract boolean handleIsStateful();
291
292 private boolean __stateful6a;
293 private boolean __stateful6aSet = false;
294
295 /**
296 * True/false depending on whether or not this Session EJB is stateful or not.
297 * @return (boolean)handleIsStateful()
298 */
299 public final boolean isStateful()
300 {
301 boolean stateful6a = this.__stateful6a;
302 if (!this.__stateful6aSet)
303 {
304 // stateful has no pre constraints
305 stateful6a = handleIsStateful();
306 // stateful has no post constraints
307 this.__stateful6a = stateful6a;
308 if (isMetafacadePropertyCachingEnabled())
309 {
310 this.__stateful6aSet = true;
311 }
312 }
313 return stateful6a;
314 }
315
316 /**
317 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isStateless()
318 * @return boolean
319 */
320 protected abstract boolean handleIsStateless();
321
322 private boolean __stateless7a;
323 private boolean __stateless7aSet = false;
324
325 /**
326 * True/false depending on whether or not this Session EJB is stateless or not.
327 * @return (boolean)handleIsStateless()
328 */
329 public final boolean isStateless()
330 {
331 boolean stateless7a = this.__stateless7a;
332 if (!this.__stateless7aSet)
333 {
334 // stateless has no pre constraints
335 stateless7a = handleIsStateless();
336 // stateless has no post constraints
337 this.__stateless7a = stateless7a;
338 if (isMetafacadePropertyCachingEnabled())
339 {
340 this.__stateless7aSet = true;
341 }
342 }
343 return stateless7a;
344 }
345
346 /**
347 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getType()
348 * @return String
349 */
350 protected abstract String handleGetType();
351
352 private String __type8a;
353 private boolean __type8aSet = false;
354
355 /**
356 * Returns the name of the type of this Session EJB, either Stateless or Stateful.
357 * @return (String)handleGetType()
358 */
359 public final String getType()
360 {
361 String type8a = this.__type8a;
362 if (!this.__type8aSet)
363 {
364 // type has no pre constraints
365 type8a = handleGetType();
366 // type has no post constraints
367 this.__type8a = type8a;
368 if (isMetafacadePropertyCachingEnabled())
369 {
370 this.__type8aSet = true;
371 }
372 }
373 return type8a;
374 }
375
376 /**
377 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getViewType()
378 * @return String
379 */
380 protected abstract String handleGetViewType();
381
382 private String __viewType9a;
383 private boolean __viewType9aSet = false;
384
385 /**
386 * A string indicating whether the Bean is a local or remotely accessable bean.
387 * @return (String)handleGetViewType()
388 */
389 public final String getViewType()
390 {
391 String viewType9a = this.__viewType9a;
392 if (!this.__viewType9aSet)
393 {
394 // viewType has no pre constraints
395 viewType9a = handleGetViewType();
396 // viewType has no post constraints
397 this.__viewType9a = viewType9a;
398 if (isMetafacadePropertyCachingEnabled())
399 {
400 this.__viewType9aSet = true;
401 }
402 }
403 return viewType9a;
404 }
405
406 /**
407 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getHomeInterfaceName()
408 * @return String
409 */
410 protected abstract String handleGetHomeInterfaceName();
411
412 private String __homeInterfaceName10a;
413 private boolean __homeInterfaceName10aSet = false;
414
415 /**
416 * A String representing the name of a home interface for this entity EJB.
417 * @return (String)handleGetHomeInterfaceName()
418 */
419 public final String getHomeInterfaceName()
420 {
421 String homeInterfaceName10a = this.__homeInterfaceName10a;
422 if (!this.__homeInterfaceName10aSet)
423 {
424 // homeInterfaceName has no pre constraints
425 homeInterfaceName10a = handleGetHomeInterfaceName();
426 // homeInterfaceName has no post constraints
427 this.__homeInterfaceName10a = homeInterfaceName10a;
428 if (isMetafacadePropertyCachingEnabled())
429 {
430 this.__homeInterfaceName10aSet = true;
431 }
432 }
433 return homeInterfaceName10a;
434 }
435
436 /**
437 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getTransactionType()
438 * @return String
439 */
440 protected abstract String handleGetTransactionType();
441
442 private String __transactionType11a;
443 private boolean __transactionType11aSet = false;
444
445 /**
446 * Gets the transaction type for this service (i.e. REQUIRED, etc)
447 * @return (String)handleGetTransactionType()
448 */
449 public final String getTransactionType()
450 {
451 String transactionType11a = this.__transactionType11a;
452 if (!this.__transactionType11aSet)
453 {
454 // transactionType has no pre constraints
455 transactionType11a = handleGetTransactionType();
456 // transactionType has no post constraints
457 this.__transactionType11a = transactionType11a;
458 if (isMetafacadePropertyCachingEnabled())
459 {
460 this.__transactionType11aSet = true;
461 }
462 }
463 return transactionType11a;
464 }
465
466 /**
467 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceName()
468 * @return String
469 */
470 protected abstract String handleGetServiceName();
471
472 private String __serviceName12a;
473 private boolean __serviceName12aSet = false;
474
475 /**
476 * Returns service bean name.
477 * @return (String)handleGetServiceName()
478 */
479 public final String getServiceName()
480 {
481 String serviceName12a = this.__serviceName12a;
482 if (!this.__serviceName12aSet)
483 {
484 // serviceName has no pre constraints
485 serviceName12a = handleGetServiceName();
486 // serviceName has no post constraints
487 this.__serviceName12a = serviceName12a;
488 if (isMetafacadePropertyCachingEnabled())
489 {
490 this.__serviceName12aSet = true;
491 }
492 }
493 return serviceName12a;
494 }
495
496 /**
497 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceLocalInterfaceName()
498 * @return String
499 */
500 protected abstract String handleGetServiceLocalInterfaceName();
501
502 private String __serviceLocalInterfaceName13a;
503 private boolean __serviceLocalInterfaceName13aSet = false;
504
505 /**
506 * Returns the service bean local interface name.
507 * @return (String)handleGetServiceLocalInterfaceName()
508 */
509 public final String getServiceLocalInterfaceName()
510 {
511 String serviceLocalInterfaceName13a = this.__serviceLocalInterfaceName13a;
512 if (!this.__serviceLocalInterfaceName13aSet)
513 {
514 // serviceLocalInterfaceName has no pre constraints
515 serviceLocalInterfaceName13a = handleGetServiceLocalInterfaceName();
516 // serviceLocalInterfaceName has no post constraints
517 this.__serviceLocalInterfaceName13a = serviceLocalInterfaceName13a;
518 if (isMetafacadePropertyCachingEnabled())
519 {
520 this.__serviceLocalInterfaceName13aSet = true;
521 }
522 }
523 return serviceLocalInterfaceName13a;
524 }
525
526 /**
527 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceRemoteInterfaceName()
528 * @return String
529 */
530 protected abstract String handleGetServiceRemoteInterfaceName();
531
532 private String __serviceRemoteInterfaceName14a;
533 private boolean __serviceRemoteInterfaceName14aSet = false;
534
535 /**
536 * Returns the service bean remote interface name.
537 * @return (String)handleGetServiceRemoteInterfaceName()
538 */
539 public final String getServiceRemoteInterfaceName()
540 {
541 String serviceRemoteInterfaceName14a = this.__serviceRemoteInterfaceName14a;
542 if (!this.__serviceRemoteInterfaceName14aSet)
543 {
544 // serviceRemoteInterfaceName has no pre constraints
545 serviceRemoteInterfaceName14a = handleGetServiceRemoteInterfaceName();
546 // serviceRemoteInterfaceName has no post constraints
547 this.__serviceRemoteInterfaceName14a = serviceRemoteInterfaceName14a;
548 if (isMetafacadePropertyCachingEnabled())
549 {
550 this.__serviceRemoteInterfaceName14aSet = true;
551 }
552 }
553 return serviceRemoteInterfaceName14a;
554 }
555
556 /**
557 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceImplementationName()
558 * @return String
559 */
560 protected abstract String handleGetServiceImplementationName();
561
562 private String __serviceImplementationName15a;
563 private boolean __serviceImplementationName15aSet = false;
564
565 /**
566 * Returns the service bean implementation name.
567 * @return (String)handleGetServiceImplementationName()
568 */
569 public final String getServiceImplementationName()
570 {
571 String serviceImplementationName15a = this.__serviceImplementationName15a;
572 if (!this.__serviceImplementationName15aSet)
573 {
574 // serviceImplementationName has no pre constraints
575 serviceImplementationName15a = handleGetServiceImplementationName();
576 // serviceImplementationName has no post constraints
577 this.__serviceImplementationName15a = serviceImplementationName15a;
578 if (isMetafacadePropertyCachingEnabled())
579 {
580 this.__serviceImplementationName15aSet = true;
581 }
582 }
583 return serviceImplementationName15a;
584 }
585
586 /**
587 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceListenerName()
588 * @return String
589 */
590 protected abstract String handleGetServiceListenerName();
591
592 private String __serviceListenerName16a;
593 private boolean __serviceListenerName16aSet = false;
594
595 /**
596 * Returns the service bean callback listener name.
597 * @return (String)handleGetServiceListenerName()
598 */
599 public final String getServiceListenerName()
600 {
601 String serviceListenerName16a = this.__serviceListenerName16a;
602 if (!this.__serviceListenerName16aSet)
603 {
604 // serviceListenerName has no pre constraints
605 serviceListenerName16a = handleGetServiceListenerName();
606 // serviceListenerName has no post constraints
607 this.__serviceListenerName16a = serviceListenerName16a;
608 if (isMetafacadePropertyCachingEnabled())
609 {
610 this.__serviceListenerName16aSet = true;
611 }
612 }
613 return serviceListenerName16a;
614 }
615
616 /**
617 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceImplementationName()
618 * @return String
619 */
620 protected abstract String handleGetFullyQualifiedServiceImplementationName();
621
622 private String __fullyQualifiedServiceImplementationName17a;
623 private boolean __fullyQualifiedServiceImplementationName17aSet = false;
624
625 /**
626 * Returns the fully qualified service bean implementation name.
627 * @return (String)handleGetFullyQualifiedServiceImplementationName()
628 */
629 public final String getFullyQualifiedServiceImplementationName()
630 {
631 String fullyQualifiedServiceImplementationName17a = this.__fullyQualifiedServiceImplementationName17a;
632 if (!this.__fullyQualifiedServiceImplementationName17aSet)
633 {
634 // fullyQualifiedServiceImplementationName has no pre constraints
635 fullyQualifiedServiceImplementationName17a = handleGetFullyQualifiedServiceImplementationName();
636 // fullyQualifiedServiceImplementationName has no post constraints
637 this.__fullyQualifiedServiceImplementationName17a = fullyQualifiedServiceImplementationName17a;
638 if (isMetafacadePropertyCachingEnabled())
639 {
640 this.__fullyQualifiedServiceImplementationName17aSet = true;
641 }
642 }
643 return fullyQualifiedServiceImplementationName17a;
644 }
645
646 /**
647 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceListenerName()
648 * @return String
649 */
650 protected abstract String handleGetFullyQualifiedServiceListenerName();
651
652 private String __fullyQualifiedServiceListenerName18a;
653 private boolean __fullyQualifiedServiceListenerName18aSet = false;
654
655 /**
656 * Returns the fully qualified service bean listener name.
657 * @return (String)handleGetFullyQualifiedServiceListenerName()
658 */
659 public final String getFullyQualifiedServiceListenerName()
660 {
661 String fullyQualifiedServiceListenerName18a = this.__fullyQualifiedServiceListenerName18a;
662 if (!this.__fullyQualifiedServiceListenerName18aSet)
663 {
664 // fullyQualifiedServiceListenerName has no pre constraints
665 fullyQualifiedServiceListenerName18a = handleGetFullyQualifiedServiceListenerName();
666 // fullyQualifiedServiceListenerName has no post constraints
667 this.__fullyQualifiedServiceListenerName18a = fullyQualifiedServiceListenerName18a;
668 if (isMetafacadePropertyCachingEnabled())
669 {
670 this.__fullyQualifiedServiceListenerName18aSet = true;
671 }
672 }
673 return fullyQualifiedServiceListenerName18a;
674 }
675
676 /**
677 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceLocalInterfaceName()
678 * @return String
679 */
680 protected abstract String handleGetFullyQualifiedServiceLocalInterfaceName();
681
682 private String __fullyQualifiedServiceLocalInterfaceName19a;
683 private boolean __fullyQualifiedServiceLocalInterfaceName19aSet = false;
684
685 /**
686 * Returns the fully qualified service bean local interface name.
687 * @return (String)handleGetFullyQualifiedServiceLocalInterfaceName()
688 */
689 public final String getFullyQualifiedServiceLocalInterfaceName()
690 {
691 String fullyQualifiedServiceLocalInterfaceName19a = this.__fullyQualifiedServiceLocalInterfaceName19a;
692 if (!this.__fullyQualifiedServiceLocalInterfaceName19aSet)
693 {
694 // fullyQualifiedServiceLocalInterfaceName has no pre constraints
695 fullyQualifiedServiceLocalInterfaceName19a = handleGetFullyQualifiedServiceLocalInterfaceName();
696 // fullyQualifiedServiceLocalInterfaceName has no post constraints
697 this.__fullyQualifiedServiceLocalInterfaceName19a = fullyQualifiedServiceLocalInterfaceName19a;
698 if (isMetafacadePropertyCachingEnabled())
699 {
700 this.__fullyQualifiedServiceLocalInterfaceName19aSet = true;
701 }
702 }
703 return fullyQualifiedServiceLocalInterfaceName19a;
704 }
705
706 /**
707 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceRemoteInterfaceName()
708 * @return String
709 */
710 protected abstract String handleGetFullyQualifiedServiceRemoteInterfaceName();
711
712 private String __fullyQualifiedServiceRemoteInterfaceName20a;
713 private boolean __fullyQualifiedServiceRemoteInterfaceName20aSet = false;
714
715 /**
716 * Returns the fully qualified service bean remote interface name.
717 * @return (String)handleGetFullyQualifiedServiceRemoteInterfaceName()
718 */
719 public final String getFullyQualifiedServiceRemoteInterfaceName()
720 {
721 String fullyQualifiedServiceRemoteInterfaceName20a = this.__fullyQualifiedServiceRemoteInterfaceName20a;
722 if (!this.__fullyQualifiedServiceRemoteInterfaceName20aSet)
723 {
724 // fullyQualifiedServiceRemoteInterfaceName has no pre constraints
725 fullyQualifiedServiceRemoteInterfaceName20a = handleGetFullyQualifiedServiceRemoteInterfaceName();
726 // fullyQualifiedServiceRemoteInterfaceName has no post constraints
727 this.__fullyQualifiedServiceRemoteInterfaceName20a = fullyQualifiedServiceRemoteInterfaceName20a;
728 if (isMetafacadePropertyCachingEnabled())
729 {
730 this.__fullyQualifiedServiceRemoteInterfaceName20aSet = true;
731 }
732 }
733 return fullyQualifiedServiceRemoteInterfaceName20a;
734 }
735
736 /**
737 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getPersistenceContextType()
738 * @return String
739 */
740 protected abstract String handleGetPersistenceContextType();
741
742 private String __persistenceContextType21a;
743 private boolean __persistenceContextType21aSet = false;
744
745 /**
746 * Specifies whether the persistence context for this EntityManager is transaction scoped or
747 * extended.
748 * @return (String)handleGetPersistenceContextType()
749 */
750 public final String getPersistenceContextType()
751 {
752 String persistenceContextType21a = this.__persistenceContextType21a;
753 if (!this.__persistenceContextType21aSet)
754 {
755 // persistenceContextType has no pre constraints
756 persistenceContextType21a = handleGetPersistenceContextType();
757 // persistenceContextType has no post constraints
758 this.__persistenceContextType21a = persistenceContextType21a;
759 if (isMetafacadePropertyCachingEnabled())
760 {
761 this.__persistenceContextType21aSet = true;
762 }
763 }
764 return persistenceContextType21a;
765 }
766
767 /**
768 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getPersistenceContextUnitName()
769 * @return String
770 */
771 protected abstract String handleGetPersistenceContextUnitName();
772
773 private String __persistenceContextUnitName22a;
774 private boolean __persistenceContextUnitName22aSet = false;
775
776 /**
777 * Returns the persistence context unit name for the injected EntityManger. This is only
778 * required if multiple persistence units exists.
779 * @return (String)handleGetPersistenceContextUnitName()
780 */
781 public final String getPersistenceContextUnitName()
782 {
783 String persistenceContextUnitName22a = this.__persistenceContextUnitName22a;
784 if (!this.__persistenceContextUnitName22aSet)
785 {
786 // persistenceContextUnitName has no pre constraints
787 persistenceContextUnitName22a = handleGetPersistenceContextUnitName();
788 // persistenceContextUnitName has no post constraints
789 this.__persistenceContextUnitName22a = persistenceContextUnitName22a;
790 if (isMetafacadePropertyCachingEnabled())
791 {
792 this.__persistenceContextUnitName22aSet = true;
793 }
794 }
795 return persistenceContextUnitName22a;
796 }
797
798 /**
799 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getPersistenceContextReferences()
800 * @return Collection
801 */
802 protected abstract Collection handleGetPersistenceContextReferences();
803
804 private Collection __persistenceContextReferences23a;
805 private boolean __persistenceContextReferences23aSet = false;
806
807 /**
808 * Returns the Collection of target objects from the service bean class that have a stereotype
809 * of PersistenceContext.
810 * @return (Collection)handleGetPersistenceContextReferences()
811 */
812 public final Collection getPersistenceContextReferences()
813 {
814 Collection persistenceContextReferences23a = this.__persistenceContextReferences23a;
815 if (!this.__persistenceContextReferences23aSet)
816 {
817 // persistenceContextReferences has no pre constraints
818 persistenceContextReferences23a = handleGetPersistenceContextReferences();
819 // persistenceContextReferences has no post constraints
820 this.__persistenceContextReferences23a = persistenceContextReferences23a;
821 if (isMetafacadePropertyCachingEnabled())
822 {
823 this.__persistenceContextReferences23aSet = true;
824 }
825 }
826 return persistenceContextReferences23a;
827 }
828
829 /**
830 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceName()
831 * @return String
832 */
833 protected abstract String handleGetFullyQualifiedServiceName();
834
835 private String __fullyQualifiedServiceName24a;
836 private boolean __fullyQualifiedServiceName24aSet = false;
837
838 /**
839 * Returns the fully qualified service bean name.
840 * @return (String)handleGetFullyQualifiedServiceName()
841 */
842 public final String getFullyQualifiedServiceName()
843 {
844 String fullyQualifiedServiceName24a = this.__fullyQualifiedServiceName24a;
845 if (!this.__fullyQualifiedServiceName24aSet)
846 {
847 // fullyQualifiedServiceName has no pre constraints
848 fullyQualifiedServiceName24a = handleGetFullyQualifiedServiceName();
849 // fullyQualifiedServiceName has no post constraints
850 this.__fullyQualifiedServiceName24a = fullyQualifiedServiceName24a;
851 if (isMetafacadePropertyCachingEnabled())
852 {
853 this.__fullyQualifiedServiceName24aSet = true;
854 }
855 }
856 return fullyQualifiedServiceName24a;
857 }
858
859 /**
860 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getRolesAllowed()
861 * @return String
862 */
863 protected abstract String handleGetRolesAllowed();
864
865 private String __rolesAllowed25a;
866 private boolean __rolesAllowed25aSet = false;
867
868 /**
869 * Returns the comma separated list of roles allowd to execute all operations in this session
870 * bean. This is defined by actor dependencies on the session bean.
871 * @return (String)handleGetRolesAllowed()
872 */
873 public final String getRolesAllowed()
874 {
875 String rolesAllowed25a = this.__rolesAllowed25a;
876 if (!this.__rolesAllowed25aSet)
877 {
878 // rolesAllowed has no pre constraints
879 rolesAllowed25a = handleGetRolesAllowed();
880 // rolesAllowed has no post constraints
881 this.__rolesAllowed25a = rolesAllowed25a;
882 if (isMetafacadePropertyCachingEnabled())
883 {
884 this.__rolesAllowed25aSet = true;
885 }
886 }
887 return rolesAllowed25a;
888 }
889
890 /**
891 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isPermitAll()
892 * @return boolean
893 */
894 protected abstract boolean handleIsPermitAll();
895
896 private boolean __permitAll26a;
897 private boolean __permitAll26aSet = false;
898
899 /**
900 * Returns true if all roles are permitted to execute all operations in this session bean. This
901 * is specified in the andromda.ejb.security.permitAll tagged value. It will override the
902 * andromda.ejb.security.rolesAllowed tagged value.
903 * @return (boolean)handleIsPermitAll()
904 */
905 public final boolean isPermitAll()
906 {
907 boolean permitAll26a = this.__permitAll26a;
908 if (!this.__permitAll26aSet)
909 {
910 // permitAll has no pre constraints
911 permitAll26a = handleIsPermitAll();
912 // permitAll has no post constraints
913 this.__permitAll26a = permitAll26a;
914 if (isMetafacadePropertyCachingEnabled())
915 {
916 this.__permitAll26aSet = true;
917 }
918 }
919 return permitAll26a;
920 }
921
922 /**
923 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSecurityRealm()
924 * @return String
925 */
926 protected abstract String handleGetSecurityRealm();
927
928 private String __securityRealm27a;
929 private boolean __securityRealm27aSet = false;
930
931 /**
932 * Returns the security domain value. Specified using the securityRealm namespace property or
933 * overridden in the andromda.ejb.security.realm tagged value.
934 * @return (String)handleGetSecurityRealm()
935 */
936 public final String getSecurityRealm()
937 {
938 String securityRealm27a = this.__securityRealm27a;
939 if (!this.__securityRealm27aSet)
940 {
941 // securityRealm has no pre constraints
942 securityRealm27a = handleGetSecurityRealm();
943 // securityRealm has no post constraints
944 this.__securityRealm27a = securityRealm27a;
945 if (isMetafacadePropertyCachingEnabled())
946 {
947 this.__securityRealm27aSet = true;
948 }
949 }
950 return securityRealm27a;
951 }
952
953 /**
954 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getPersistenceContainer()
955 * @return String
956 */
957 protected abstract String handleGetPersistenceContainer();
958
959 private String __persistenceContainer28a;
960 private boolean __persistenceContainer28aSet = false;
961
962 /**
963 * Returns the EJB3 container engine (jboss, weblogic).
964 * @return (String)handleGetPersistenceContainer()
965 */
966 public final String getPersistenceContainer()
967 {
968 String persistenceContainer28a = this.__persistenceContainer28a;
969 if (!this.__persistenceContainer28aSet)
970 {
971 // persistenceContainer has no pre constraints
972 persistenceContainer28a = handleGetPersistenceContainer();
973 // persistenceContainer has no post constraints
974 this.__persistenceContainer28a = persistenceContainer28a;
975 if (isMetafacadePropertyCachingEnabled())
976 {
977 this.__persistenceContainer28aSet = true;
978 }
979 }
980 return persistenceContainer28a;
981 }
982
983 /**
984 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isPersistenceContainerJboss()
985 * @return boolean
986 */
987 protected abstract boolean handleIsPersistenceContainerJboss();
988
989 private boolean __persistenceContainerJboss29a;
990 private boolean __persistenceContainerJboss29aSet = false;
991
992 /**
993 * Returns true if the persistence container is the JBoss engine.
994 * @return (boolean)handleIsPersistenceContainerJboss()
995 */
996 public final boolean isPersistenceContainerJboss()
997 {
998 boolean persistenceContainerJboss29a = this.__persistenceContainerJboss29a;
999 if (!this.__persistenceContainerJboss29aSet)
1000 {
1001 // persistenceContainerJboss has no pre constraints
1002 persistenceContainerJboss29a = handleIsPersistenceContainerJboss();
1003 // persistenceContainerJboss has no post constraints
1004 this.__persistenceContainerJboss29a = persistenceContainerJboss29a;
1005 if (isMetafacadePropertyCachingEnabled())
1006 {
1007 this.__persistenceContainerJboss29aSet = true;
1008 }
1009 }
1010 return persistenceContainerJboss29a;
1011 }
1012
1013 /**
1014 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isPersistenceContainerWeblogic()
1015 * @return boolean
1016 */
1017 protected abstract boolean handleIsPersistenceContainerWeblogic();
1018
1019 private boolean __persistenceContainerWeblogic30a;
1020 private boolean __persistenceContainerWeblogic30aSet = false;
1021
1022 /**
1023 * Returns true if the persistence container is the Weblogic engine.
1024 * @return (boolean)handleIsPersistenceContainerWeblogic()
1025 */
1026 public final boolean isPersistenceContainerWeblogic()
1027 {
1028 boolean persistenceContainerWeblogic30a = this.__persistenceContainerWeblogic30a;
1029 if (!this.__persistenceContainerWeblogic30aSet)
1030 {
1031 // persistenceContainerWeblogic has no pre constraints
1032 persistenceContainerWeblogic30a = handleIsPersistenceContainerWeblogic();
1033 // persistenceContainerWeblogic has no post constraints
1034 this.__persistenceContainerWeblogic30a = persistenceContainerWeblogic30a;
1035 if (isMetafacadePropertyCachingEnabled())
1036 {
1037 this.__persistenceContainerWeblogic30aSet = true;
1038 }
1039 }
1040 return persistenceContainerWeblogic30a;
1041 }
1042
1043 /**
1044 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getRunAs()
1045 * @return String
1046 */
1047 protected abstract String handleGetRunAs();
1048
1049 private String __runAs31a;
1050 private boolean __runAs31aSet = false;
1051
1052 /**
1053 * Returns the run-as identity for the session bean which is used to establish the identity the
1054 * bean will use when making calls. It does not affect the identity of the callers.
1055 * @return (String)handleGetRunAs()
1056 */
1057 public final String getRunAs()
1058 {
1059 String runAs31a = this.__runAs31a;
1060 if (!this.__runAs31aSet)
1061 {
1062 // runAs has no pre constraints
1063 runAs31a = handleGetRunAs();
1064 // runAs has no post constraints
1065 this.__runAs31a = runAs31a;
1066 if (isMetafacadePropertyCachingEnabled())
1067 {
1068 this.__runAs31aSet = true;
1069 }
1070 }
1071 return runAs31a;
1072 }
1073
1074 /**
1075 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isDenyAll()
1076 * @return boolean
1077 */
1078 protected abstract boolean handleIsDenyAll();
1079
1080 private boolean __denyAll32a;
1081 private boolean __denyAll32aSet = false;
1082
1083 /**
1084 * Returns true if NO roles are permitted to execute operations in this bean. This is specified
1085 * in the andromda.ejb.security.denyAll tagged value. Typically, it will be overridden at the
1086 * method level using the andromda.ejb.security.rolesAllowed tagged value.
1087 * @return (boolean)handleIsDenyAll()
1088 */
1089 public final boolean isDenyAll()
1090 {
1091 boolean denyAll32a = this.__denyAll32a;
1092 if (!this.__denyAll32aSet)
1093 {
1094 // denyAll has no pre constraints
1095 denyAll32a = handleIsDenyAll();
1096 // denyAll has no post constraints
1097 this.__denyAll32a = denyAll32a;
1098 if (isMetafacadePropertyCachingEnabled())
1099 {
1100 this.__denyAll32aSet = true;
1101 }
1102 }
1103 return denyAll32a;
1104 }
1105
1106 /**
1107 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getTransactionManagement()
1108 * @return String
1109 */
1110 protected abstract String handleGetTransactionManagement();
1111
1112 private String __transactionManagement33a;
1113 private boolean __transactionManagement33aSet = false;
1114
1115 /**
1116 * Returns the transaction demarcation strategy for this bean. Typically, this will return BEAN
1117 * for non default CONTAINER managed beans. Unless specified, this will return null indicating
1118 * CONTAINER transaction demarcation.
1119 * @return (String)handleGetTransactionManagement()
1120 */
1121 public final String getTransactionManagement()
1122 {
1123 String transactionManagement33a = this.__transactionManagement33a;
1124 if (!this.__transactionManagement33aSet)
1125 {
1126 // transactionManagement has no pre constraints
1127 transactionManagement33a = handleGetTransactionManagement();
1128 // transactionManagement has no post constraints
1129 this.__transactionManagement33a = transactionManagement33a;
1130 if (isMetafacadePropertyCachingEnabled())
1131 {
1132 this.__transactionManagement33aSet = true;
1133 }
1134 }
1135 return transactionManagement33a;
1136 }
1137
1138 /**
1139 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isTransactionManagementBean()
1140 * @return boolean
1141 */
1142 protected abstract boolean handleIsTransactionManagementBean();
1143
1144 private boolean __transactionManagementBean34a;
1145 private boolean __transactionManagementBean34aSet = false;
1146
1147 /**
1148 * Returns true if the transaction demarcation strategy is bean managedfor this bean.
1149 * @return (boolean)handleIsTransactionManagementBean()
1150 */
1151 public final boolean isTransactionManagementBean()
1152 {
1153 boolean transactionManagementBean34a = this.__transactionManagementBean34a;
1154 if (!this.__transactionManagementBean34aSet)
1155 {
1156 // transactionManagementBean has no pre constraints
1157 transactionManagementBean34a = handleIsTransactionManagementBean();
1158 // transactionManagementBean has no post constraints
1159 this.__transactionManagementBean34a = transactionManagementBean34a;
1160 if (isMetafacadePropertyCachingEnabled())
1161 {
1162 this.__transactionManagementBean34aSet = true;
1163 }
1164 }
1165 return transactionManagementBean34a;
1166 }
1167
1168 /**
1169 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getResourceUserTransactionReferences()
1170 * @return Collection
1171 */
1172 protected abstract Collection handleGetResourceUserTransactionReferences();
1173
1174 private Collection __resourceUserTransactionReferences35a;
1175 private boolean __resourceUserTransactionReferences35aSet = false;
1176
1177 /**
1178 * Returns the Collection of dependencies from the service bean that have stereotype of
1179 * ResourceRef and the target has a stereotype of UserTransaction.
1180 * @return (Collection)handleGetResourceUserTransactionReferences()
1181 */
1182 public final Collection getResourceUserTransactionReferences()
1183 {
1184 Collection resourceUserTransactionReferences35a = this.__resourceUserTransactionReferences35a;
1185 if (!this.__resourceUserTransactionReferences35aSet)
1186 {
1187 // resourceUserTransactionReferences has no pre constraints
1188 resourceUserTransactionReferences35a = handleGetResourceUserTransactionReferences();
1189 // resourceUserTransactionReferences has no post constraints
1190 this.__resourceUserTransactionReferences35a = resourceUserTransactionReferences35a;
1191 if (isMetafacadePropertyCachingEnabled())
1192 {
1193 this.__resourceUserTransactionReferences35aSet = true;
1194 }
1195 }
1196 return resourceUserTransactionReferences35a;
1197 }
1198
1199 /**
1200 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getResourceDataSourceReferences()
1201 * @return Collection
1202 */
1203 protected abstract Collection handleGetResourceDataSourceReferences();
1204
1205 private Collection __resourceDataSourceReferences36a;
1206 private boolean __resourceDataSourceReferences36aSet = false;
1207
1208 /**
1209 * Returns the Collection of dependencies from the service bean that have stereotype of
1210 * ResourceRef and the target has a stereotype of DataSource.
1211 * @return (Collection)handleGetResourceDataSourceReferences()
1212 */
1213 public final Collection getResourceDataSourceReferences()
1214 {
1215 Collection resourceDataSourceReferences36a = this.__resourceDataSourceReferences36a;
1216 if (!this.__resourceDataSourceReferences36aSet)
1217 {
1218 // resourceDataSourceReferences has no pre constraints
1219 resourceDataSourceReferences36a = handleGetResourceDataSourceReferences();
1220 // resourceDataSourceReferences has no post constraints
1221 this.__resourceDataSourceReferences36a = resourceDataSourceReferences36a;
1222 if (isMetafacadePropertyCachingEnabled())
1223 {
1224 this.__resourceDataSourceReferences36aSet = true;
1225 }
1226 }
1227 return resourceDataSourceReferences36a;
1228 }
1229
1230 /**
1231 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getMessageDrivenReferences()
1232 * @return Collection
1233 */
1234 protected abstract Collection handleGetMessageDrivenReferences();
1235
1236 private Collection __messageDrivenReferences37a;
1237 private boolean __messageDrivenReferences37aSet = false;
1238
1239 /**
1240 * Returns the Collection of dependencies from the service bean class where the target class has
1241 * a stereotype of MessageDriven.
1242 * @return (Collection)handleGetMessageDrivenReferences()
1243 */
1244 public final Collection getMessageDrivenReferences()
1245 {
1246 Collection messageDrivenReferences37a = this.__messageDrivenReferences37a;
1247 if (!this.__messageDrivenReferences37aSet)
1248 {
1249 // messageDrivenReferences has no pre constraints
1250 messageDrivenReferences37a = handleGetMessageDrivenReferences();
1251 // messageDrivenReferences has no post constraints
1252 this.__messageDrivenReferences37a = messageDrivenReferences37a;
1253 if (isMetafacadePropertyCachingEnabled())
1254 {
1255 this.__messageDrivenReferences37aSet = true;
1256 }
1257 }
1258 return messageDrivenReferences37a;
1259 }
1260
1261 /**
1262 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceDelegateName()
1263 * @return String
1264 */
1265 protected abstract String handleGetServiceDelegateName();
1266
1267 private String __serviceDelegateName38a;
1268 private boolean __serviceDelegateName38aSet = false;
1269
1270 /**
1271 * Return the service bean delegate class name.
1272 * @return (String)handleGetServiceDelegateName()
1273 */
1274 public final String getServiceDelegateName()
1275 {
1276 String serviceDelegateName38a = this.__serviceDelegateName38a;
1277 if (!this.__serviceDelegateName38aSet)
1278 {
1279 // serviceDelegateName has no pre constraints
1280 serviceDelegateName38a = handleGetServiceDelegateName();
1281 // serviceDelegateName has no post constraints
1282 this.__serviceDelegateName38a = serviceDelegateName38a;
1283 if (isMetafacadePropertyCachingEnabled())
1284 {
1285 this.__serviceDelegateName38aSet = true;
1286 }
1287 }
1288 return serviceDelegateName38a;
1289 }
1290
1291 /**
1292 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceDelegateName()
1293 * @return String
1294 */
1295 protected abstract String handleGetFullyQualifiedServiceDelegateName();
1296
1297 private String __fullyQualifiedServiceDelegateName39a;
1298 private boolean __fullyQualifiedServiceDelegateName39aSet = false;
1299
1300 /**
1301 * Returns the fully qualified service bean delegate class name.
1302 * @return (String)handleGetFullyQualifiedServiceDelegateName()
1303 */
1304 public final String getFullyQualifiedServiceDelegateName()
1305 {
1306 String fullyQualifiedServiceDelegateName39a = this.__fullyQualifiedServiceDelegateName39a;
1307 if (!this.__fullyQualifiedServiceDelegateName39aSet)
1308 {
1309 // fullyQualifiedServiceDelegateName has no pre constraints
1310 fullyQualifiedServiceDelegateName39a = handleGetFullyQualifiedServiceDelegateName();
1311 // fullyQualifiedServiceDelegateName has no post constraints
1312 this.__fullyQualifiedServiceDelegateName39a = fullyQualifiedServiceDelegateName39a;
1313 if (isMetafacadePropertyCachingEnabled())
1314 {
1315 this.__fullyQualifiedServiceDelegateName39aSet = true;
1316 }
1317 }
1318 return fullyQualifiedServiceDelegateName39a;
1319 }
1320
1321 /**
1322 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getJndiNameLocal()
1323 * @return String
1324 */
1325 protected abstract String handleGetJndiNameLocal();
1326
1327 private String __jndiNameLocal40a;
1328 private boolean __jndiNameLocal40aSet = false;
1329
1330 /**
1331 * The JNDI name to which this session EJB local interface is bound.
1332 * @return (String)handleGetJndiNameLocal()
1333 */
1334 public final String getJndiNameLocal()
1335 {
1336 String jndiNameLocal40a = this.__jndiNameLocal40a;
1337 if (!this.__jndiNameLocal40aSet)
1338 {
1339 // jndiNameLocal has no pre constraints
1340 jndiNameLocal40a = handleGetJndiNameLocal();
1341 // jndiNameLocal has no post constraints
1342 this.__jndiNameLocal40a = jndiNameLocal40a;
1343 if (isMetafacadePropertyCachingEnabled())
1344 {
1345 this.__jndiNameLocal40aSet = true;
1346 }
1347 }
1348 return jndiNameLocal40a;
1349 }
1350
1351 /**
1352 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeLocal()
1353 * @return boolean
1354 */
1355 protected abstract boolean handleIsViewTypeLocal();
1356
1357 private boolean __viewTypeLocal41a;
1358 private boolean __viewTypeLocal41aSet = false;
1359
1360 /**
1361 * Return true if the view type accessability for this bean is local or both.
1362 * Always generate a local interface is this session bean is a Seam component.
1363 * @return (boolean)handleIsViewTypeLocal()
1364 */
1365 public final boolean isViewTypeLocal()
1366 {
1367 boolean viewTypeLocal41a = this.__viewTypeLocal41a;
1368 if (!this.__viewTypeLocal41aSet)
1369 {
1370 // viewTypeLocal has no pre constraints
1371 viewTypeLocal41a = handleIsViewTypeLocal();
1372 // viewTypeLocal has no post constraints
1373 this.__viewTypeLocal41a = viewTypeLocal41a;
1374 if (isMetafacadePropertyCachingEnabled())
1375 {
1376 this.__viewTypeLocal41aSet = true;
1377 }
1378 }
1379 return viewTypeLocal41a;
1380 }
1381
1382 /**
1383 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeRemote()
1384 * @return boolean
1385 */
1386 protected abstract boolean handleIsViewTypeRemote();
1387
1388 private boolean __viewTypeRemote42a;
1389 private boolean __viewTypeRemote42aSet = false;
1390
1391 /**
1392 * Return true if the view type accessability for this bean is remote or both.
1393 * @return (boolean)handleIsViewTypeRemote()
1394 */
1395 public final boolean isViewTypeRemote()
1396 {
1397 boolean viewTypeRemote42a = this.__viewTypeRemote42a;
1398 if (!this.__viewTypeRemote42aSet)
1399 {
1400 // viewTypeRemote has no pre constraints
1401 viewTypeRemote42a = handleIsViewTypeRemote();
1402 // viewTypeRemote has no post constraints
1403 this.__viewTypeRemote42a = viewTypeRemote42a;
1404 if (isMetafacadePropertyCachingEnabled())
1405 {
1406 this.__viewTypeRemote42aSet = true;
1407 }
1408 }
1409 return viewTypeRemote42a;
1410 }
1411
1412 /**
1413 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getInterceptorReferences()
1414 * @return Collection
1415 */
1416 protected abstract Collection handleGetInterceptorReferences();
1417
1418 private Collection __interceptorReferences43a;
1419 private boolean __interceptorReferences43aSet = false;
1420
1421 /**
1422 * Returns the Collection of target elements from the service bean class where the target class
1423 * has a stereotype of Interceptor.
1424 * @return (Collection)handleGetInterceptorReferences()
1425 */
1426 public final Collection getInterceptorReferences()
1427 {
1428 Collection interceptorReferences43a = this.__interceptorReferences43a;
1429 if (!this.__interceptorReferences43aSet)
1430 {
1431 // interceptorReferences has no pre constraints
1432 interceptorReferences43a = handleGetInterceptorReferences();
1433 // interceptorReferences has no post constraints
1434 this.__interceptorReferences43a = interceptorReferences43a;
1435 if (isMetafacadePropertyCachingEnabled())
1436 {
1437 this.__interceptorReferences43aSet = true;
1438 }
1439 }
1440 return interceptorReferences43a;
1441 }
1442
1443 /**
1444 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getDefaultExceptionName()
1445 * @return String
1446 */
1447 protected abstract String handleGetDefaultExceptionName();
1448
1449 private String __defaultExceptionName44a;
1450 private boolean __defaultExceptionName44aSet = false;
1451
1452 /**
1453 * The name of the default exception to be generated for this service.
1454 * @return (String)handleGetDefaultExceptionName()
1455 */
1456 public final String getDefaultExceptionName()
1457 {
1458 String defaultExceptionName44a = this.__defaultExceptionName44a;
1459 if (!this.__defaultExceptionName44aSet)
1460 {
1461 // defaultExceptionName has no pre constraints
1462 defaultExceptionName44a = handleGetDefaultExceptionName();
1463 // defaultExceptionName has no post constraints
1464 this.__defaultExceptionName44a = defaultExceptionName44a;
1465 if (isMetafacadePropertyCachingEnabled())
1466 {
1467 this.__defaultExceptionName44aSet = true;
1468 }
1469 }
1470 return defaultExceptionName44a;
1471 }
1472
1473 /**
1474 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedDefaultExceptionName()
1475 * @return String
1476 */
1477 protected abstract String handleGetFullyQualifiedDefaultExceptionName();
1478
1479 private String __fullyQualifiedDefaultExceptionName45a;
1480 private boolean __fullyQualifiedDefaultExceptionName45aSet = false;
1481
1482 /**
1483 * The fully qualified class name of the default exception.
1484 * @return (String)handleGetFullyQualifiedDefaultExceptionName()
1485 */
1486 public final String getFullyQualifiedDefaultExceptionName()
1487 {
1488 String fullyQualifiedDefaultExceptionName45a = this.__fullyQualifiedDefaultExceptionName45a;
1489 if (!this.__fullyQualifiedDefaultExceptionName45aSet)
1490 {
1491 // fullyQualifiedDefaultExceptionName has no pre constraints
1492 fullyQualifiedDefaultExceptionName45a = handleGetFullyQualifiedDefaultExceptionName();
1493 // fullyQualifiedDefaultExceptionName has no post constraints
1494 this.__fullyQualifiedDefaultExceptionName45a = fullyQualifiedDefaultExceptionName45a;
1495 if (isMetafacadePropertyCachingEnabled())
1496 {
1497 this.__fullyQualifiedDefaultExceptionName45aSet = true;
1498 }
1499 }
1500 return fullyQualifiedDefaultExceptionName45a;
1501 }
1502
1503 /**
1504 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isAllowDefaultServiceException()
1505 * @return boolean
1506 */
1507 protected abstract boolean handleIsAllowDefaultServiceException();
1508
1509 private boolean __allowDefaultServiceException46a;
1510 private boolean __allowDefaultServiceException46aSet = false;
1511
1512 /**
1513 * Indicates whether or not a default service exception should be allowed.
1514 * @return (boolean)handleIsAllowDefaultServiceException()
1515 */
1516 public final boolean isAllowDefaultServiceException()
1517 {
1518 boolean allowDefaultServiceException46a = this.__allowDefaultServiceException46a;
1519 if (!this.__allowDefaultServiceException46aSet)
1520 {
1521 // allowDefaultServiceException has no pre constraints
1522 allowDefaultServiceException46a = handleIsAllowDefaultServiceException();
1523 // allowDefaultServiceException has no post constraints
1524 this.__allowDefaultServiceException46a = allowDefaultServiceException46a;
1525 if (isMetafacadePropertyCachingEnabled())
1526 {
1527 this.__allowDefaultServiceException46aSet = true;
1528 }
1529 }
1530 return allowDefaultServiceException46a;
1531 }
1532
1533 /**
1534 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isListenerEnabled()
1535 * @return boolean
1536 */
1537 protected abstract boolean handleIsListenerEnabled();
1538
1539 private boolean __listenerEnabled47a;
1540 private boolean __listenerEnabled47aSet = false;
1541
1542 /**
1543 * Returns true if this session bean has the stereotype Listener. False otherwise.
1544 * @return (boolean)handleIsListenerEnabled()
1545 */
1546 public final boolean isListenerEnabled()
1547 {
1548 boolean listenerEnabled47a = this.__listenerEnabled47a;
1549 if (!this.__listenerEnabled47aSet)
1550 {
1551 // listenerEnabled has no pre constraints
1552 listenerEnabled47a = handleIsListenerEnabled();
1553 // listenerEnabled has no post constraints
1554 this.__listenerEnabled47a = listenerEnabled47a;
1555 if (isMetafacadePropertyCachingEnabled())
1556 {
1557 this.__listenerEnabled47aSet = true;
1558 }
1559 }
1560 return listenerEnabled47a;
1561 }
1562
1563 /**
1564 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getJndiNamePrefix()
1565 * @return String
1566 */
1567 protected abstract String handleGetJndiNamePrefix();
1568
1569 private String __jndiNamePrefix48a;
1570 private boolean __jndiNamePrefix48aSet = false;
1571
1572 /**
1573 * Returns the JNDI name prefix for this session bean. This is set using the jndiNamePrefix
1574 * namespace property and is commonly the ear file name excluding the extension for the EJB3
1575 * cartridge. This prefix is applied whether the JNDI name is specified or not.
1576 * If no manual JNDI name is specified, then the prefix is applied like so:
1577 * jndiPrefix/EJBName/Remote
1578 * If a manual JNDI name is specified, then the prefix is applied:
1579 * jndiPrefix/ManualEJBJNDIName
1580 * @return (String)handleGetJndiNamePrefix()
1581 */
1582 public final String getJndiNamePrefix()
1583 {
1584 String jndiNamePrefix48a = this.__jndiNamePrefix48a;
1585 if (!this.__jndiNamePrefix48aSet)
1586 {
1587 // jndiNamePrefix has no pre constraints
1588 jndiNamePrefix48a = handleGetJndiNamePrefix();
1589 // jndiNamePrefix has no post constraints
1590 this.__jndiNamePrefix48a = jndiNamePrefix48a;
1591 if (isMetafacadePropertyCachingEnabled())
1592 {
1593 this.__jndiNamePrefix48aSet = true;
1594 }
1595 }
1596 return jndiNamePrefix48a;
1597 }
1598
1599 /**
1600 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSecurityEnabled()
1601 * @return boolean
1602 */
1603 protected abstract boolean handleIsSecurityEnabled();
1604
1605 private boolean __securityEnabled49a;
1606 private boolean __securityEnabled49aSet = false;
1607
1608 /**
1609 * Returns true if the security realm is specified indicating to generate the security
1610 * infrastructure files.
1611 * @return (boolean)handleIsSecurityEnabled()
1612 */
1613 public final boolean isSecurityEnabled()
1614 {
1615 boolean securityEnabled49a = this.__securityEnabled49a;
1616 if (!this.__securityEnabled49aSet)
1617 {
1618 // securityEnabled has no pre constraints
1619 securityEnabled49a = handleIsSecurityEnabled();
1620 // securityEnabled has no post constraints
1621 this.__securityEnabled49a = securityEnabled49a;
1622 if (isMetafacadePropertyCachingEnabled())
1623 {
1624 this.__securityEnabled49aSet = true;
1625 }
1626 }
1627 return securityEnabled49a;
1628 }
1629
1630 /**
1631 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isExcludeDefaultInterceptors()
1632 * @return boolean
1633 */
1634 protected abstract boolean handleIsExcludeDefaultInterceptors();
1635
1636 private boolean __excludeDefaultInterceptors50a;
1637 private boolean __excludeDefaultInterceptors50aSet = false;
1638
1639 /**
1640 * Determines whether to exclude the invocation of the default interceptors for all business
1641 * method in the bean.
1642 * @return (boolean)handleIsExcludeDefaultInterceptors()
1643 */
1644 public final boolean isExcludeDefaultInterceptors()
1645 {
1646 boolean excludeDefaultInterceptors50a = this.__excludeDefaultInterceptors50a;
1647 if (!this.__excludeDefaultInterceptors50aSet)
1648 {
1649 // excludeDefaultInterceptors has no pre constraints
1650 excludeDefaultInterceptors50a = handleIsExcludeDefaultInterceptors();
1651 // excludeDefaultInterceptors has no post constraints
1652 this.__excludeDefaultInterceptors50a = excludeDefaultInterceptors50a;
1653 if (isMetafacadePropertyCachingEnabled())
1654 {
1655 this.__excludeDefaultInterceptors50aSet = true;
1656 }
1657 }
1658 return excludeDefaultInterceptors50a;
1659 }
1660
1661 /**
1662 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isClusteringEnabled()
1663 * @return boolean
1664 */
1665 protected abstract boolean handleIsClusteringEnabled();
1666
1667 private boolean __clusteringEnabled51a;
1668 private boolean __clusteringEnabled51aSet = false;
1669
1670 /**
1671 * Determine whether clustering has been enabled. Either set application wide using
1672 * enableClustering namespace property or via the andromda_service_clustered tagged value.
1673 * @return (boolean)handleIsClusteringEnabled()
1674 */
1675 public final boolean isClusteringEnabled()
1676 {
1677 boolean clusteringEnabled51a = this.__clusteringEnabled51a;
1678 if (!this.__clusteringEnabled51aSet)
1679 {
1680 // clusteringEnabled has no pre constraints
1681 clusteringEnabled51a = handleIsClusteringEnabled();
1682 // clusteringEnabled has no post constraints
1683 this.__clusteringEnabled51a = clusteringEnabled51a;
1684 if (isMetafacadePropertyCachingEnabled())
1685 {
1686 this.__clusteringEnabled51aSet = true;
1687 }
1688 }
1689 return clusteringEnabled51a;
1690 }
1691
1692 /**
1693 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isWebServiceOperationExists()
1694 * @return boolean
1695 */
1696 protected abstract boolean handleIsWebServiceOperationExists();
1697
1698 private boolean __webServiceOperationExists52a;
1699 private boolean __webServiceOperationExists52aSet = false;
1700
1701 /**
1702 * Returns true if at least one of the session bean operations is marked with the
1703 * WebServiceOperation stereotype.
1704 * @return (boolean)handleIsWebServiceOperationExists()
1705 */
1706 public final boolean isWebServiceOperationExists()
1707 {
1708 boolean webServiceOperationExists52a = this.__webServiceOperationExists52a;
1709 if (!this.__webServiceOperationExists52aSet)
1710 {
1711 // webServiceOperationExists has no pre constraints
1712 webServiceOperationExists52a = handleIsWebServiceOperationExists();
1713 // webServiceOperationExists has no post constraints
1714 this.__webServiceOperationExists52a = webServiceOperationExists52a;
1715 if (isMetafacadePropertyCachingEnabled())
1716 {
1717 this.__webServiceOperationExists52aSet = true;
1718 }
1719 }
1720 return webServiceOperationExists52a;
1721 }
1722
1723 /**
1724 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isWebServiceEnabled()
1725 * @return boolean
1726 */
1727 protected abstract boolean handleIsWebServiceEnabled();
1728
1729 private boolean __webServiceEnabled53a;
1730 private boolean __webServiceEnabled53aSet = false;
1731
1732 /**
1733 * Returns true if the session bean has either one of the following:
1734 * 1. The <<WebService>> stereotype is modelled on the bean class;
1735 * 2. The <<WebServiceOperation>> stereotype is modelled on at least one business method.
1736 * @return (boolean)handleIsWebServiceEnabled()
1737 */
1738 public final boolean isWebServiceEnabled()
1739 {
1740 boolean webServiceEnabled53a = this.__webServiceEnabled53a;
1741 if (!this.__webServiceEnabled53aSet)
1742 {
1743 // webServiceEnabled has no pre constraints
1744 webServiceEnabled53a = handleIsWebServiceEnabled();
1745 // webServiceEnabled has no post constraints
1746 this.__webServiceEnabled53a = webServiceEnabled53a;
1747 if (isMetafacadePropertyCachingEnabled())
1748 {
1749 this.__webServiceEnabled53aSet = true;
1750 }
1751 }
1752 return webServiceEnabled53a;
1753 }
1754
1755 /**
1756 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceBaseName()
1757 * @return String
1758 */
1759 protected abstract String handleGetServiceBaseName();
1760
1761 private String __serviceBaseName54a;
1762 private boolean __serviceBaseName54aSet = false;
1763
1764 /**
1765 * Returns the service bean base name.
1766 * @return (String)handleGetServiceBaseName()
1767 */
1768 public final String getServiceBaseName()
1769 {
1770 String serviceBaseName54a = this.__serviceBaseName54a;
1771 if (!this.__serviceBaseName54aSet)
1772 {
1773 // serviceBaseName has no pre constraints
1774 serviceBaseName54a = handleGetServiceBaseName();
1775 // serviceBaseName has no post constraints
1776 this.__serviceBaseName54a = serviceBaseName54a;
1777 if (isMetafacadePropertyCachingEnabled())
1778 {
1779 this.__serviceBaseName54aSet = true;
1780 }
1781 }
1782 return serviceBaseName54a;
1783 }
1784
1785 /**
1786 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceBaseName()
1787 * @return String
1788 */
1789 protected abstract String handleGetFullyQualifiedServiceBaseName();
1790
1791 private String __fullyQualifiedServiceBaseName55a;
1792 private boolean __fullyQualifiedServiceBaseName55aSet = false;
1793
1794 /**
1795 * Returns the fully qualified service base name.
1796 * @return (String)handleGetFullyQualifiedServiceBaseName()
1797 */
1798 public final String getFullyQualifiedServiceBaseName()
1799 {
1800 String fullyQualifiedServiceBaseName55a = this.__fullyQualifiedServiceBaseName55a;
1801 if (!this.__fullyQualifiedServiceBaseName55aSet)
1802 {
1803 // fullyQualifiedServiceBaseName has no pre constraints
1804 fullyQualifiedServiceBaseName55a = handleGetFullyQualifiedServiceBaseName();
1805 // fullyQualifiedServiceBaseName has no post constraints
1806 this.__fullyQualifiedServiceBaseName55a = fullyQualifiedServiceBaseName55a;
1807 if (isMetafacadePropertyCachingEnabled())
1808 {
1809 this.__fullyQualifiedServiceBaseName55aSet = true;
1810 }
1811 }
1812 return fullyQualifiedServiceBaseName55a;
1813 }
1814
1815 /**
1816 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSeamComponent()
1817 * @return boolean
1818 */
1819 protected abstract boolean handleIsSeamComponent();
1820
1821 private boolean __seamComponent56a;
1822 private boolean __seamComponent56aSet = false;
1823
1824 /**
1825 * Returns true if this session bean has the <<Seam>> stereotype modelled indicating it is a
1826 * Seam session bean component.
1827 * @return (boolean)handleIsSeamComponent()
1828 */
1829 public final boolean isSeamComponent()
1830 {
1831 boolean seamComponent56a = this.__seamComponent56a;
1832 if (!this.__seamComponent56aSet)
1833 {
1834 // seamComponent has no pre constraints
1835 seamComponent56a = handleIsSeamComponent();
1836 // seamComponent has no post constraints
1837 this.__seamComponent56a = seamComponent56a;
1838 if (isMetafacadePropertyCachingEnabled())
1839 {
1840 this.__seamComponent56aSet = true;
1841 }
1842 }
1843 return seamComponent56a;
1844 }
1845
1846 /**
1847 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentScopeType()
1848 * @return String
1849 */
1850 protected abstract String handleGetSeamComponentScopeType();
1851
1852 private String __seamComponentScopeType57a;
1853 private boolean __seamComponentScopeType57aSet = false;
1854
1855 /**
1856 * Tagged value andromda.seam.component.scope. Defines the default context of the component.
1857 * Possible values are
1858 * EVENT
1859 * PAGE
1860 * CONVERSATION
1861 * SESSION
1862 * BUSINESS_PROCESS
1863 * APPLICATION
1864 * STATELESS
1865 * If no scope specified, default depends on component type.
1866 * @return (String)handleGetSeamComponentScopeType()
1867 */
1868 public final String getSeamComponentScopeType()
1869 {
1870 String seamComponentScopeType57a = this.__seamComponentScopeType57a;
1871 if (!this.__seamComponentScopeType57aSet)
1872 {
1873 // seamComponentScopeType has no pre constraints
1874 seamComponentScopeType57a = handleGetSeamComponentScopeType();
1875 // seamComponentScopeType has no post constraints
1876 this.__seamComponentScopeType57a = seamComponentScopeType57a;
1877 if (isMetafacadePropertyCachingEnabled())
1878 {
1879 this.__seamComponentScopeType57aSet = true;
1880 }
1881 }
1882 return seamComponentScopeType57a;
1883 }
1884
1885 /**
1886 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentName()
1887 * @return String
1888 */
1889 protected abstract String handleGetSeamComponentName();
1890
1891 private String __seamComponentName58a;
1892 private boolean __seamComponentName58aSet = false;
1893
1894 /**
1895 * Returns the Seam component name for the class.
1896 * @return (String)handleGetSeamComponentName()
1897 */
1898 public final String getSeamComponentName()
1899 {
1900 String seamComponentName58a = this.__seamComponentName58a;
1901 if (!this.__seamComponentName58aSet)
1902 {
1903 // seamComponentName has no pre constraints
1904 seamComponentName58a = handleGetSeamComponentName();
1905 // seamComponentName has no post constraints
1906 this.__seamComponentName58a = seamComponentName58a;
1907 if (isMetafacadePropertyCachingEnabled())
1908 {
1909 this.__seamComponentName58aSet = true;
1910 }
1911 }
1912 return seamComponentName58a;
1913 }
1914
1915 /**
1916 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeBoth()
1917 * @return boolean
1918 */
1919 protected abstract boolean handleIsViewTypeBoth();
1920
1921 private boolean __viewTypeBoth59a;
1922 private boolean __viewTypeBoth59aSet = false;
1923
1924 /**
1925 * Return true if the view type accessability for this bean is both.
1926 * @return (boolean)handleIsViewTypeBoth()
1927 */
1928 public final boolean isViewTypeBoth()
1929 {
1930 boolean viewTypeBoth59a = this.__viewTypeBoth59a;
1931 if (!this.__viewTypeBoth59aSet)
1932 {
1933 // viewTypeBoth has no pre constraints
1934 viewTypeBoth59a = handleIsViewTypeBoth();
1935 // viewTypeBoth has no post constraints
1936 this.__viewTypeBoth59a = viewTypeBoth59a;
1937 if (isMetafacadePropertyCachingEnabled())
1938 {
1939 this.__viewTypeBoth59aSet = true;
1940 }
1941 }
1942 return viewTypeBoth59a;
1943 }
1944
1945 /**
1946 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeStrictlyLocal()
1947 * @return boolean
1948 */
1949 protected abstract boolean handleIsViewTypeStrictlyLocal();
1950
1951 private boolean __viewTypeStrictlyLocal60a;
1952 private boolean __viewTypeStrictlyLocal60aSet = false;
1953
1954 /**
1955 * Returns true if the bean view type was explicitly set to local view using tagged value or set
1956 * as the app wide default.
1957 * @return (boolean)handleIsViewTypeStrictlyLocal()
1958 */
1959 public final boolean isViewTypeStrictlyLocal()
1960 {
1961 boolean viewTypeStrictlyLocal60a = this.__viewTypeStrictlyLocal60a;
1962 if (!this.__viewTypeStrictlyLocal60aSet)
1963 {
1964 // viewTypeStrictlyLocal has no pre constraints
1965 viewTypeStrictlyLocal60a = handleIsViewTypeStrictlyLocal();
1966 // viewTypeStrictlyLocal has no post constraints
1967 this.__viewTypeStrictlyLocal60a = viewTypeStrictlyLocal60a;
1968 if (isMetafacadePropertyCachingEnabled())
1969 {
1970 this.__viewTypeStrictlyLocal60aSet = true;
1971 }
1972 }
1973 return viewTypeStrictlyLocal60a;
1974 }
1975
1976 /**
1977 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeStrictlyRemote()
1978 * @return boolean
1979 */
1980 protected abstract boolean handleIsViewTypeStrictlyRemote();
1981
1982 private boolean __viewTypeStrictlyRemote61a;
1983 private boolean __viewTypeStrictlyRemote61aSet = false;
1984
1985 /**
1986 * Returns true if the bean view type was explicitly set to remote view using tagged value or
1987 * set as the app wide default.
1988 * @return (boolean)handleIsViewTypeStrictlyRemote()
1989 */
1990 public final boolean isViewTypeStrictlyRemote()
1991 {
1992 boolean viewTypeStrictlyRemote61a = this.__viewTypeStrictlyRemote61a;
1993 if (!this.__viewTypeStrictlyRemote61aSet)
1994 {
1995 // viewTypeStrictlyRemote has no pre constraints
1996 viewTypeStrictlyRemote61a = handleIsViewTypeStrictlyRemote();
1997 // viewTypeStrictlyRemote has no post constraints
1998 this.__viewTypeStrictlyRemote61a = viewTypeStrictlyRemote61a;
1999 if (isMetafacadePropertyCachingEnabled())
2000 {
2001 this.__viewTypeStrictlyRemote61aSet = true;
2002 }
2003 }
2004 return viewTypeStrictlyRemote61a;
2005 }
2006
2007 /**
2008 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isViewTypeStrictlyBoth()
2009 * @return boolean
2010 */
2011 protected abstract boolean handleIsViewTypeStrictlyBoth();
2012
2013 private boolean __viewTypeStrictlyBoth62a;
2014 private boolean __viewTypeStrictlyBoth62aSet = false;
2015
2016 /**
2017 * Returns true if the bean view type was explicitly set to both view using tagged value or set
2018 * as the app wide default.
2019 * @return (boolean)handleIsViewTypeStrictlyBoth()
2020 */
2021 public final boolean isViewTypeStrictlyBoth()
2022 {
2023 boolean viewTypeStrictlyBoth62a = this.__viewTypeStrictlyBoth62a;
2024 if (!this.__viewTypeStrictlyBoth62aSet)
2025 {
2026 // viewTypeStrictlyBoth has no pre constraints
2027 viewTypeStrictlyBoth62a = handleIsViewTypeStrictlyBoth();
2028 // viewTypeStrictlyBoth has no post constraints
2029 this.__viewTypeStrictlyBoth62a = viewTypeStrictlyBoth62a;
2030 if (isMetafacadePropertyCachingEnabled())
2031 {
2032 this.__viewTypeStrictlyBoth62aSet = true;
2033 }
2034 }
2035 return viewTypeStrictlyBoth62a;
2036 }
2037
2038 /**
2039 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSeamComponentStartup()
2040 * @return boolean
2041 */
2042 protected abstract boolean handleIsSeamComponentStartup();
2043
2044 private boolean __seamComponentStartup63a;
2045 private boolean __seamComponentStartup63aSet = false;
2046
2047 /**
2048 * Returns true if stereotype <<Startup>> is set. Specifies that an application scope component
2049 * is started immediately at initialization time. This is mainly used for certain built-in
2050 * components that bootstrap critical infrastructure such as JNDI, datasources, etc.
2051 * @return (boolean)handleIsSeamComponentStartup()
2052 */
2053 public final boolean isSeamComponentStartup()
2054 {
2055 boolean seamComponentStartup63a = this.__seamComponentStartup63a;
2056 if (!this.__seamComponentStartup63aSet)
2057 {
2058 // seamComponentStartup has no pre constraints
2059 seamComponentStartup63a = handleIsSeamComponentStartup();
2060 // seamComponentStartup has no post constraints
2061 this.__seamComponentStartup63a = seamComponentStartup63a;
2062 if (isMetafacadePropertyCachingEnabled())
2063 {
2064 this.__seamComponentStartup63aSet = true;
2065 }
2066 }
2067 return seamComponentStartup63a;
2068 }
2069
2070 /**
2071 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentConversionalIfNotBegunOutcome()
2072 * @return String
2073 */
2074 protected abstract String handleGetSeamComponentConversionalIfNotBegunOutcome();
2075
2076 private String __seamComponentConversionalIfNotBegunOutcome64a;
2077 private boolean __seamComponentConversionalIfNotBegunOutcome64aSet = false;
2078
2079 /**
2080 * Tagged value andromda.seam.component.conversional.ifnotbegunoutcome. Specifies that a
2081 * conversation scope component is conversational, meaning that no method of the component can
2082 * be called unless a long-running conversation started by this component is active (unless the
2083 * method would begin a new long-running conversation).
2084 * @return (String)handleGetSeamComponentConversionalIfNotBegunOutcome()
2085 */
2086 public final String getSeamComponentConversionalIfNotBegunOutcome()
2087 {
2088 String seamComponentConversionalIfNotBegunOutcome64a = this.__seamComponentConversionalIfNotBegunOutcome64a;
2089 if (!this.__seamComponentConversionalIfNotBegunOutcome64aSet)
2090 {
2091 // seamComponentConversionalIfNotBegunOutcome has no pre constraints
2092 seamComponentConversionalIfNotBegunOutcome64a = handleGetSeamComponentConversionalIfNotBegunOutcome();
2093 // seamComponentConversionalIfNotBegunOutcome has no post constraints
2094 this.__seamComponentConversionalIfNotBegunOutcome64a = seamComponentConversionalIfNotBegunOutcome64a;
2095 if (isMetafacadePropertyCachingEnabled())
2096 {
2097 this.__seamComponentConversionalIfNotBegunOutcome64aSet = true;
2098 }
2099 }
2100 return seamComponentConversionalIfNotBegunOutcome64a;
2101 }
2102
2103 /**
2104 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentIntercept()
2105 * @return String
2106 */
2107 protected abstract String handleGetSeamComponentIntercept();
2108
2109 private String __seamComponentIntercept65a;
2110 private boolean __seamComponentIntercept65aSet = false;
2111
2112 /**
2113 * Tagged value andromda.seam.component.intercept. Determines when Seam interceptors are active.
2114 * The possible values are defined by the InterceptionType enumeration: ALWAYS,
2115 * AFTER_RESTORE_VIEW, AFTER_UPDATE_MODEL_VALUES, INVOKE_APPLICATION, NEVER.
2116 * When no interception type is explicitly specified, the default depends upon the component
2117 * type. For entity beans, the default is NEVER. For session beans, message driven beans and
2118 * JavaBeans, the default is ALWAYS.
2119 * @return (String)handleGetSeamComponentIntercept()
2120 */
2121 public final String getSeamComponentIntercept()
2122 {
2123 String seamComponentIntercept65a = this.__seamComponentIntercept65a;
2124 if (!this.__seamComponentIntercept65aSet)
2125 {
2126 // seamComponentIntercept has no pre constraints
2127 seamComponentIntercept65a = handleGetSeamComponentIntercept();
2128 // seamComponentIntercept has no post constraints
2129 this.__seamComponentIntercept65a = seamComponentIntercept65a;
2130 if (isMetafacadePropertyCachingEnabled())
2131 {
2132 this.__seamComponentIntercept65aSet = true;
2133 }
2134 }
2135 return seamComponentIntercept65a;
2136 }
2137
2138 /**
2139 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentJndiName()
2140 * @return String
2141 */
2142 protected abstract String handleGetSeamComponentJndiName();
2143
2144 private String __seamComponentJndiName66a;
2145 private boolean __seamComponentJndiName66aSet = false;
2146
2147 /**
2148 * Tagged value andromda.seam.component.jndiname. Specifies the JNDI name that Seam will use to
2149 * look up the EJB component. If no JNDI name is explicitly specified, Seam will use the JNDI
2150 * pattern specified by org.jboss.seam.core.init.jndiPattern.
2151 * @return (String)handleGetSeamComponentJndiName()
2152 */
2153 public final String getSeamComponentJndiName()
2154 {
2155 String seamComponentJndiName66a = this.__seamComponentJndiName66a;
2156 if (!this.__seamComponentJndiName66aSet)
2157 {
2158 // seamComponentJndiName has no pre constraints
2159 seamComponentJndiName66a = handleGetSeamComponentJndiName();
2160 // seamComponentJndiName has no post constraints
2161 this.__seamComponentJndiName66a = seamComponentJndiName66a;
2162 if (isMetafacadePropertyCachingEnabled())
2163 {
2164 this.__seamComponentJndiName66aSet = true;
2165 }
2166 }
2167 return seamComponentJndiName66a;
2168 }
2169
2170 /**
2171 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSeamComponentReadonly()
2172 * @return boolean
2173 */
2174 protected abstract boolean handleIsSeamComponentReadonly();
2175
2176 private boolean __seamComponentReadonly67a;
2177 private boolean __seamComponentReadonly67aSet = false;
2178
2179 /**
2180 * Tagged value andromda.seam.component.readonly. Specifies that a JavaBean component or
2181 * component method does not require state replication at the end of the invocation.
2182 * @return (boolean)handleIsSeamComponentReadonly()
2183 */
2184 public final boolean isSeamComponentReadonly()
2185 {
2186 boolean seamComponentReadonly67a = this.__seamComponentReadonly67a;
2187 if (!this.__seamComponentReadonly67aSet)
2188 {
2189 // seamComponentReadonly has no pre constraints
2190 seamComponentReadonly67a = handleIsSeamComponentReadonly();
2191 // seamComponentReadonly has no post constraints
2192 this.__seamComponentReadonly67a = seamComponentReadonly67a;
2193 if (isMetafacadePropertyCachingEnabled())
2194 {
2195 this.__seamComponentReadonly67aSet = true;
2196 }
2197 }
2198 return seamComponentReadonly67a;
2199 }
2200
2201 /**
2202 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentRoleNames()
2203 * @return Collection
2204 */
2205 protected abstract Collection handleGetSeamComponentRoleNames();
2206
2207 private Collection __seamComponentRoleNames68a;
2208 private boolean __seamComponentRoleNames68aSet = false;
2209
2210 /**
2211 * Tagged value andromda.seam.component.role.name. Allows a Seam component to be bound to
2212 * multiple contexts variables. The Name/Scope annotations define a "default role". Each Role
2213 * annotation defines an additional role.
2214 * This tagged value specifies the context variable name.
2215 * @return (Collection)handleGetSeamComponentRoleNames()
2216 */
2217 public final Collection getSeamComponentRoleNames()
2218 {
2219 Collection seamComponentRoleNames68a = this.__seamComponentRoleNames68a;
2220 if (!this.__seamComponentRoleNames68aSet)
2221 {
2222 // seamComponentRoleNames has no pre constraints
2223 seamComponentRoleNames68a = handleGetSeamComponentRoleNames();
2224 // seamComponentRoleNames has no post constraints
2225 this.__seamComponentRoleNames68a = seamComponentRoleNames68a;
2226 if (isMetafacadePropertyCachingEnabled())
2227 {
2228 this.__seamComponentRoleNames68aSet = true;
2229 }
2230 }
2231 return seamComponentRoleNames68a;
2232 }
2233
2234 /**
2235 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentSynchronizedTimeout()
2236 * @return String
2237 */
2238 protected abstract String handleGetSeamComponentSynchronizedTimeout();
2239
2240 private String __seamComponentSynchronizedTimeout69a;
2241 private boolean __seamComponentSynchronizedTimeout69aSet = false;
2242
2243 /**
2244 * Tagged value andromda.seam.component.synchronized.timeout. Specifies that a component is
2245 * accessed concurrently by multiple clients, and that Seam should serialize requests. If a
2246 * request is not able to obtain its lock on the component in the given timeout period, an
2247 * exception will be raised.
2248 * @return (String)handleGetSeamComponentSynchronizedTimeout()
2249 */
2250 public final String getSeamComponentSynchronizedTimeout()
2251 {
2252 String seamComponentSynchronizedTimeout69a = this.__seamComponentSynchronizedTimeout69a;
2253 if (!this.__seamComponentSynchronizedTimeout69aSet)
2254 {
2255 // seamComponentSynchronizedTimeout has no pre constraints
2256 seamComponentSynchronizedTimeout69a = handleGetSeamComponentSynchronizedTimeout();
2257 // seamComponentSynchronizedTimeout has no post constraints
2258 this.__seamComponentSynchronizedTimeout69a = seamComponentSynchronizedTimeout69a;
2259 if (isMetafacadePropertyCachingEnabled())
2260 {
2261 this.__seamComponentSynchronizedTimeout69aSet = true;
2262 }
2263 }
2264 return seamComponentSynchronizedTimeout69a;
2265 }
2266
2267 /**
2268 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#isSeamComponentTransactional()
2269 * @return boolean
2270 */
2271 protected abstract boolean handleIsSeamComponentTransactional();
2272
2273 private boolean __seamComponentTransactional70a;
2274 private boolean __seamComponentTransactional70aSet = false;
2275
2276 /**
2277 * Returns true if stereotype <<Transactional>> is set. Specifies that a JavaBean component
2278 * should have a similar transactional behavior to the default behavior of a session bean
2279 * component. ie. method invocations should take place in a transaction, and if no transaction
2280 * exists when the method is called, a transaction will be started just for that method. This
2281 * annotation may be applied at either class or method level.
2282 * @return (boolean)handleIsSeamComponentTransactional()
2283 */
2284 public final boolean isSeamComponentTransactional()
2285 {
2286 boolean seamComponentTransactional70a = this.__seamComponentTransactional70a;
2287 if (!this.__seamComponentTransactional70aSet)
2288 {
2289 // seamComponentTransactional has no pre constraints
2290 seamComponentTransactional70a = handleIsSeamComponentTransactional();
2291 // seamComponentTransactional has no post constraints
2292 this.__seamComponentTransactional70a = seamComponentTransactional70a;
2293 if (isMetafacadePropertyCachingEnabled())
2294 {
2295 this.__seamComponentTransactional70aSet = true;
2296 }
2297 }
2298 return seamComponentTransactional70a;
2299 }
2300
2301 /**
2302 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentStartupParameters()
2303 * @return String
2304 */
2305 protected abstract String handleGetSeamComponentStartupParameters();
2306
2307 private String __seamComponentStartupParameters71a;
2308 private boolean __seamComponentStartupParameters71aSet = false;
2309
2310 /**
2311 * Returns a string with parameters for the Startup annotation. Supported parameters:
2312 * depends — specifies that the named components must be started first, if they are installed.
2313 * Specified by tagged value andromda.seam.component.startup.depends
2314 * @return (String)handleGetSeamComponentStartupParameters()
2315 */
2316 public final String getSeamComponentStartupParameters()
2317 {
2318 String seamComponentStartupParameters71a = this.__seamComponentStartupParameters71a;
2319 if (!this.__seamComponentStartupParameters71aSet)
2320 {
2321 // seamComponentStartupParameters has no pre constraints
2322 seamComponentStartupParameters71a = handleGetSeamComponentStartupParameters();
2323 // seamComponentStartupParameters has no post constraints
2324 this.__seamComponentStartupParameters71a = seamComponentStartupParameters71a;
2325 if (isMetafacadePropertyCachingEnabled())
2326 {
2327 this.__seamComponentStartupParameters71aSet = true;
2328 }
2329 }
2330 return seamComponentStartupParameters71a;
2331 }
2332
2333 /**
2334 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getSeamComponentRoleScopeTypes()
2335 * @return Collection
2336 */
2337 protected abstract Collection handleGetSeamComponentRoleScopeTypes();
2338
2339 private Collection __seamComponentRoleScopeTypes72a;
2340 private boolean __seamComponentRoleScopeTypes72aSet = false;
2341
2342 /**
2343 * If multiple roles are specified (since a seam component can be bound to multiple context
2344 * variables), then multiple roles are specified in the order the role names are specified.
2345 * This is done by modelling the andromda.seam.component.role.scope tag with a comma separated
2346 * list of scopes.
2347 * @return (Collection)handleGetSeamComponentRoleScopeTypes()
2348 */
2349 public final Collection getSeamComponentRoleScopeTypes()
2350 {
2351 Collection seamComponentRoleScopeTypes72a = this.__seamComponentRoleScopeTypes72a;
2352 if (!this.__seamComponentRoleScopeTypes72aSet)
2353 {
2354 // seamComponentRoleScopeTypes has no pre constraints
2355 seamComponentRoleScopeTypes72a = handleGetSeamComponentRoleScopeTypes();
2356 // seamComponentRoleScopeTypes has no post constraints
2357 this.__seamComponentRoleScopeTypes72a = seamComponentRoleScopeTypes72a;
2358 if (isMetafacadePropertyCachingEnabled())
2359 {
2360 this.__seamComponentRoleScopeTypes72aSet = true;
2361 }
2362 }
2363 return seamComponentRoleScopeTypes72a;
2364 }
2365
2366 /**
2367 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceTestName()
2368 * @return String
2369 */
2370 protected abstract String handleGetFullyQualifiedServiceTestName();
2371
2372 private String __fullyQualifiedServiceTestName73a;
2373 private boolean __fullyQualifiedServiceTestName73aSet = false;
2374
2375 /**
2376 * Returns the fully qualified service test class name
2377 * @return (String)handleGetFullyQualifiedServiceTestName()
2378 */
2379 public final String getFullyQualifiedServiceTestName()
2380 {
2381 String fullyQualifiedServiceTestName73a = this.__fullyQualifiedServiceTestName73a;
2382 if (!this.__fullyQualifiedServiceTestName73aSet)
2383 {
2384 // fullyQualifiedServiceTestName has no pre constraints
2385 fullyQualifiedServiceTestName73a = handleGetFullyQualifiedServiceTestName();
2386 // fullyQualifiedServiceTestName has no post constraints
2387 this.__fullyQualifiedServiceTestName73a = fullyQualifiedServiceTestName73a;
2388 if (isMetafacadePropertyCachingEnabled())
2389 {
2390 this.__fullyQualifiedServiceTestName73aSet = true;
2391 }
2392 }
2393 return fullyQualifiedServiceTestName73a;
2394 }
2395
2396 /**
2397 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceTestName()
2398 * @return String
2399 */
2400 protected abstract String handleGetServiceTestName();
2401
2402 private String __serviceTestName74a;
2403 private boolean __serviceTestName74aSet = false;
2404
2405 /**
2406 * Returns the service bean test class name
2407 * @return (String)handleGetServiceTestName()
2408 */
2409 public final String getServiceTestName()
2410 {
2411 String serviceTestName74a = this.__serviceTestName74a;
2412 if (!this.__serviceTestName74aSet)
2413 {
2414 // serviceTestName has no pre constraints
2415 serviceTestName74a = handleGetServiceTestName();
2416 // serviceTestName has no post constraints
2417 this.__serviceTestName74a = serviceTestName74a;
2418 if (isMetafacadePropertyCachingEnabled())
2419 {
2420 this.__serviceTestName74aSet = true;
2421 }
2422 }
2423 return serviceTestName74a;
2424 }
2425
2426 /**
2427 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getTestPackageName()
2428 * @return String
2429 */
2430 protected abstract String handleGetTestPackageName();
2431
2432 private String __testPackageName75a;
2433 private boolean __testPackageName75aSet = false;
2434
2435 /**
2436 * Returns the service test package name. This simply appends .test to the existing service
2437 * class package.
2438 * @return (String)handleGetTestPackageName()
2439 */
2440 public final String getTestPackageName()
2441 {
2442 String testPackageName75a = this.__testPackageName75a;
2443 if (!this.__testPackageName75aSet)
2444 {
2445 // testPackageName has no pre constraints
2446 testPackageName75a = handleGetTestPackageName();
2447 // testPackageName has no post constraints
2448 this.__testPackageName75a = testPackageName75a;
2449 if (isMetafacadePropertyCachingEnabled())
2450 {
2451 this.__testPackageName75aSet = true;
2452 }
2453 }
2454 return testPackageName75a;
2455 }
2456
2457 /**
2458 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getServiceInterfaceName()
2459 * @return String
2460 */
2461 protected abstract String handleGetServiceInterfaceName();
2462
2463 private String __serviceInterfaceName76a;
2464 private boolean __serviceInterfaceName76aSet = false;
2465
2466 /**
2467 * The parent business interface name for this session bean.
2468 * @return (String)handleGetServiceInterfaceName()
2469 */
2470 public final String getServiceInterfaceName()
2471 {
2472 String serviceInterfaceName76a = this.__serviceInterfaceName76a;
2473 if (!this.__serviceInterfaceName76aSet)
2474 {
2475 // serviceInterfaceName has no pre constraints
2476 serviceInterfaceName76a = handleGetServiceInterfaceName();
2477 // serviceInterfaceName has no post constraints
2478 this.__serviceInterfaceName76a = serviceInterfaceName76a;
2479 if (isMetafacadePropertyCachingEnabled())
2480 {
2481 this.__serviceInterfaceName76aSet = true;
2482 }
2483 }
2484 return serviceInterfaceName76a;
2485 }
2486
2487 /**
2488 * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getFullyQualifiedServiceInterfaceName()
2489 * @return String
2490 */
2491 protected abstract String handleGetFullyQualifiedServiceInterfaceName();
2492
2493 private String __fullyQualifiedServiceInterfaceName77a;
2494 private boolean __fullyQualifiedServiceInterfaceName77aSet = false;
2495
2496 /**
2497 * The fully qualified parent business interface name for this session bean.
2498 * @return (String)handleGetFullyQualifiedServiceInterfaceName()
2499 */
2500 public final String getFullyQualifiedServiceInterfaceName()
2501 {
2502 String fullyQualifiedServiceInterfaceName77a = this.__fullyQualifiedServiceInterfaceName77a;
2503 if (!this.__fullyQualifiedServiceInterfaceName77aSet)
2504 {
2505 // fullyQualifiedServiceInterfaceName has no pre constraints
2506 fullyQualifiedServiceInterfaceName77a = handleGetFullyQualifiedServiceInterfaceName();
2507 // fullyQualifiedServiceInterfaceName has no post constraints
2508 this.__fullyQualifiedServiceInterfaceName77a = fullyQualifiedServiceInterfaceName77a;
2509 if (isMetafacadePropertyCachingEnabled())
2510 {
2511 this.__fullyQualifiedServiceInterfaceName77aSet = true;
2512 }
2513 }
2514 return fullyQualifiedServiceInterfaceName77a;
2515 }
2516
2517 // ---------------- business methods ----------------------
2518
2519 /**
2520 * Method to be implemented in descendants
2521 * Gets create methods for this session EJB. If 'follow' is set to true, it will follow the
2522 * inheritance hierarchy and retrieve those defined on any super types.
2523 * @param follow
2524 * @return Collection
2525 */
2526 protected abstract Collection handleGetCreateMethods(boolean follow);
2527
2528 /**
2529 * Gets create methods for this session EJB. If 'follow' is set to true, it will follow the
2530 * inheritance hierarchy and retrieve those defined on any super types.
2531 * @param follow boolean
2532 * If set to true, then all create methods from the super type will also be included.
2533 * @return handleGetCreateMethods(follow)
2534 */
2535 public Collection getCreateMethods(boolean follow)
2536 {
2537 // getCreateMethods has no pre constraints
2538 Collection returnValue = handleGetCreateMethods(follow);
2539 // getCreateMethods has no post constraints
2540 return returnValue;
2541 }
2542
2543 /**
2544 * Method to be implemented in descendants
2545 * Gets all env-entries for the specified session EJB. Env-entries are stored as static
2546 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
2547 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
2548 * types as well.
2549 * @param follow
2550 * @return Collection
2551 */
2552 protected abstract Collection handleGetEnvironmentEntries(boolean follow);
2553
2554 /**
2555 * Gets all env-entries for the specified session EJB. Env-entries are stored as static
2556 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
2557 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
2558 * types as well.
2559 * @param follow boolean
2560 * If true, then the inheritance hierarchy will be followed and we'll retrieve all env-entries
2561 * from any super types as well.
2562 * @return handleGetEnvironmentEntries(follow)
2563 */
2564 public Collection getEnvironmentEntries(boolean follow)
2565 {
2566 // getEnvironmentEntries has no pre constraints
2567 Collection returnValue = handleGetEnvironmentEntries(follow);
2568 // getEnvironmentEntries has no post constraints
2569 return returnValue;
2570 }
2571
2572 /**
2573 * Method to be implemented in descendants
2574 * Gets all constants for this session EJB. Constants are defined as static read-only attributes
2575 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance
2576 * hierarchy will be followed and we'll retrieve all constants from any super types as well.
2577 * @param follow
2578 * @return Collection
2579 */
2580 protected abstract Collection handleGetConstants(boolean follow);
2581
2582 /**
2583 * Gets all constants for this session EJB. Constants are defined as static read-only attributes
2584 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance
2585 * hierarchy will be followed and we'll retrieve all constants from any super types as well.
2586 * @param follow boolean
2587 * If true, then the inheritance hierarchy will be followed and we'll retrieve all constants
2588 * from any super types as well.
2589 * @return handleGetConstants(follow)
2590 */
2591 public Collection getConstants(boolean follow)
2592 {
2593 // getConstants has no pre constraints
2594 Collection returnValue = handleGetConstants(follow);
2595 // getConstants has no post constraints
2596 return returnValue;
2597 }
2598
2599 /**
2600 * Method to be implemented in descendants
2601 * Returns the comma separated list of attributes.<p/>This method can be used to generate
2602 * argument lists for constructors and method calls.
2603 * @param attributes
2604 * @param includeTypes
2605 * @param includeNames
2606 * @return String
2607 */
2608 protected abstract String handleGetAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames);
2609
2610 /**
2611 * Returns the comma separated list of attributes.<p/>This method can be used to generate
2612 * argument lists for constructors and method calls.
2613 * @param attributes Collection
2614 * a collection of {@link Attribute} objects
2615 * @param includeTypes boolean
2616 * if <code>true</code>, the type names of the attributes are included.
2617 * @param includeNames boolean
2618 * if <code>true</code>, the names of the attributes are included
2619 * @return handleGetAttributesAsList(attributes, includeTypes, includeNames)
2620 */
2621 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames)
2622 {
2623 // getAttributesAsList has no pre constraints
2624 String returnValue = handleGetAttributesAsList(attributes, includeTypes, includeNames);
2625 // getAttributesAsList has no post constraints
2626 return returnValue;
2627 }
2628
2629 /**
2630 * Method to be implemented in descendants
2631 * Filter out seam component attributes
2632 * @param attributes
2633 * @return Collection
2634 */
2635 protected abstract Collection handleFilterSeamAttributes(Collection attributes);
2636
2637 /**
2638 * Filter out seam component attributes
2639 * @param attributes Collection
2640 * TODO: Model Documentation for
2641 * org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade.filterSeamAttributes(attributes)
2642 * @return handleFilterSeamAttributes(attributes)
2643 */
2644 public Collection filterSeamAttributes(Collection attributes)
2645 {
2646 // filterSeamAttributes has no pre constraints
2647 Collection returnValue = handleFilterSeamAttributes(attributes);
2648 // filterSeamAttributes has no post constraints
2649 return returnValue;
2650 }
2651
2652 // ------------- associations ------------------
2653
2654 /**
2655 * Represents a Session EJB.
2656 * @return (Collection<Role>)handleGetNonRunAsRoles()
2657 */
2658 public final Collection<Role> getNonRunAsRoles()
2659 {
2660 Collection<Role> getNonRunAsRoles1r = null;
2661 // eJB3SessionFacade has no pre constraints
2662 Collection result = handleGetNonRunAsRoles();
2663 List shieldedResult = this.shieldedElements(result);
2664 try
2665 {
2666 getNonRunAsRoles1r = (Collection<Role>)shieldedResult;
2667 }
2668 catch (ClassCastException ex)
2669 {
2670 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2671 EJB3SessionFacadeLogic.logger.warn("incorrect metafacade cast for EJB3SessionFacadeLogic.getNonRunAsRoles Collection<Role> " + result + ": " + shieldedResult);
2672 }
2673 // eJB3SessionFacade has no post constraints
2674 return getNonRunAsRoles1r;
2675 }
2676
2677 /**
2678 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2679 * @return Collection
2680 */
2681 protected abstract Collection handleGetNonRunAsRoles();
2682
2683 /**
2684 * @return true
2685 * @see Service
2686 */
2687 public boolean isServiceMetaType()
2688 {
2689 return true;
2690 }
2691
2692 /**
2693 * @return true
2694 * @see ClassifierFacade
2695 */
2696 public boolean isClassifierFacadeMetaType()
2697 {
2698 return true;
2699 }
2700
2701 /**
2702 * @return true
2703 * @see GeneralizableElementFacade
2704 */
2705 public boolean isGeneralizableElementFacadeMetaType()
2706 {
2707 return true;
2708 }
2709
2710 /**
2711 * @return true
2712 * @see ModelElementFacade
2713 */
2714 public boolean isModelElementFacadeMetaType()
2715 {
2716 return true;
2717 }
2718
2719 // ----------- delegates to Service ------------
2720 /**
2721 * Return the attribute which name matches the parameter
2722 * @see ClassifierFacade#findAttribute(String name)
2723 */
2724 public AttributeFacade findAttribute(String name)
2725 {
2726 return this.getSuperService().findAttribute(name);
2727 }
2728
2729 /**
2730 * Those abstraction dependencies for which this classifier is the client.
2731 * @see ClassifierFacade#getAbstractions()
2732 */
2733 public Collection<ClassifierFacade> getAbstractions()
2734 {
2735 return this.getSuperService().getAbstractions();
2736 }
2737
2738 /**
2739 * Lists all classes associated to this one and any ancestor classes (through generalization).
2740 * There will be no duplicates. The order of the elements is predictable.
2741 * @see ClassifierFacade#getAllAssociatedClasses()
2742 */
2743 public Collection<ClassifierFacade> getAllAssociatedClasses()
2744 {
2745 return this.getSuperService().getAllAssociatedClasses();
2746 }
2747
2748 /**
2749 * A collection containing all 'properties' of the classifier and its ancestors. Properties are
2750 * any attributes and navigable connecting association ends.
2751 * @see ClassifierFacade#getAllProperties()
2752 */
2753 public Collection<ModelElementFacade> getAllProperties()
2754 {
2755 return this.getSuperService().getAllProperties();
2756 }
2757
2758 /**
2759 * A collection containing all required and/or read-only 'properties' of the classifier and its
2760 * ancestors. Properties are any attributes and navigable connecting association ends.
2761 * @see ClassifierFacade#getAllRequiredConstructorParameters()
2762 */
2763 public Collection<ModelElementFacade> getAllRequiredConstructorParameters()
2764 {
2765 return this.getSuperService().getAllRequiredConstructorParameters();
2766 }
2767
2768 /**
2769 * Gets the array type for this classifier. If this classifier already represents an array, it
2770 * just returns itself.
2771 * @see ClassifierFacade#getArray()
2772 */
2773 public ClassifierFacade getArray()
2774 {
2775 return this.getSuperService().getArray();
2776 }
2777
2778 /**
2779 * The name of the classifier as an array.
2780 * @see ClassifierFacade#getArrayName()
2781 */
2782 public String getArrayName()
2783 {
2784 return this.getSuperService().getArrayName();
2785 }
2786
2787 /**
2788 * Lists the classes associated to this one, there is no repitition of classes. The order of the
2789 * elements is predictable.
2790 * @see ClassifierFacade#getAssociatedClasses()
2791 */
2792 public Collection<ClassifierFacade> getAssociatedClasses()
2793 {
2794 return this.getSuperService().getAssociatedClasses();
2795 }
2796
2797 /**
2798 * Gets the association ends belonging to a classifier.
2799 * @see ClassifierFacade#getAssociationEnds()
2800 */
2801 public List<AssociationEndFacade> getAssociationEnds()
2802 {
2803 return this.getSuperService().getAssociationEnds();
2804 }
2805
2806 /**
2807 * Gets the attributes that belong to the classifier.
2808 * @see ClassifierFacade#getAttributes()
2809 */
2810 public List<AttributeFacade> getAttributes()
2811 {
2812 return this.getSuperService().getAttributes();
2813 }
2814
2815 /**
2816 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance
2817 * hierarchy and gets the attributes from the super classes as well.
2818 * @see ClassifierFacade#getAttributes(boolean follow)
2819 */
2820 public List<AttributeFacade> getAttributes(boolean follow)
2821 {
2822 return this.getSuperService().getAttributes(follow);
2823 }
2824
2825 /**
2826 * The fully qualified name of the classifier as an array.
2827 * @see ClassifierFacade#getFullyQualifiedArrayName()
2828 */
2829 public String getFullyQualifiedArrayName()
2830 {
2831 return this.getSuperService().getFullyQualifiedArrayName();
2832 }
2833
2834 /**
2835 * Returns all those operations that could be implemented at this classifier's level. This means
2836 * the operations owned by this classifier as well as any realized interface's operations
2837 * (recursively) in case this classifier itself is not already an interface, or generalized when
2838 * this classifier is an interface.
2839 * @see ClassifierFacade#getImplementationOperations()
2840 */
2841 public Collection<OperationFacade> getImplementationOperations()
2842 {
2843 return this.getSuperService().getImplementationOperations();
2844 }
2845
2846 /**
2847 * A comma separated list of the fully qualified names of all implemented interfaces.
2848 * @see ClassifierFacade#getImplementedInterfaceList()
2849 */
2850 public String getImplementedInterfaceList()
2851 {
2852 return this.getSuperService().getImplementedInterfaceList();
2853 }
2854
2855 /**
2856 * Those attributes that are scoped to an instance of this class.
2857 * @see ClassifierFacade#getInstanceAttributes()
2858 */
2859 public Collection<AttributeFacade> getInstanceAttributes()
2860 {
2861 return this.getSuperService().getInstanceAttributes();
2862 }
2863
2864 /**
2865 * Those operations that are scoped to an instance of this class.
2866 * @see ClassifierFacade#getInstanceOperations()
2867 */
2868 public List<OperationFacade> getInstanceOperations()
2869 {
2870 return this.getSuperService().getInstanceOperations();
2871 }
2872
2873 /**
2874 * Those interfaces that are abstractions of this classifier, this basically means this
2875 * classifier realizes them.
2876 * @see ClassifierFacade#getInterfaceAbstractions()
2877 */
2878 public Collection<ClassifierFacade> getInterfaceAbstractions()
2879 {
2880 return this.getSuperService().getInterfaceAbstractions();
2881 }
2882
2883 /**
2884 * A String representing a new Constructor declaration for this classifier type to be used in a
2885 * Java environment.
2886 * @see ClassifierFacade#getJavaNewString()
2887 */
2888 public String getJavaNewString()
2889 {
2890 return this.getSuperService().getJavaNewString();
2891 }
2892
2893 /**
2894 * A String representing the null-value for this classifier type to be used in a Java
2895 * environment.
2896 * @see ClassifierFacade#getJavaNullString()
2897 */
2898 public String getJavaNullString()
2899 {
2900 return this.getSuperService().getJavaNullString();
2901 }
2902
2903 /**
2904 * The other ends of this classifier's association ends which are navigable.
2905 * @see ClassifierFacade#getNavigableConnectingEnds()
2906 */
2907 public Collection<AssociationEndFacade> getNavigableConnectingEnds()
2908 {
2909 return this.getSuperService().getNavigableConnectingEnds();
2910 }
2911
2912 /**
2913 * Get the other ends of this classifier's association ends which are navigable and if 'follow'
2914 * is true goes up the inheritance hierarchy and gets the super association ends as well.
2915 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow)
2916 */
2917 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow)
2918 {
2919 return this.getSuperService().getNavigableConnectingEnds(follow);
2920 }
2921
2922 /**
2923 * Assuming that the classifier is an array, this will return the non array type of the
2924 * classifier from
2925 * the model. If the classifier is NOT an array, it will just return itself.
2926 * @see ClassifierFacade#getNonArray()
2927 */
2928 public ClassifierFacade getNonArray()
2929 {
2930 return this.getSuperService().getNonArray();
2931 }
2932
2933 /**
2934 * The attributes from this classifier in the form of an operation call (this example would be
2935 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the
2936 * classifier, the result would be an empty '()'.
2937 * @see ClassifierFacade#getOperationCallFromAttributes()
2938 */
2939 public String getOperationCallFromAttributes()
2940 {
2941 return this.getSuperService().getOperationCallFromAttributes();
2942 }
2943
2944 /**
2945 * The operations owned by this classifier.
2946 * @see ClassifierFacade#getOperations()
2947 */
2948 public List<OperationFacade> getOperations()
2949 {
2950 return this.getSuperService().getOperations();
2951 }
2952
2953 /**
2954 * A collection containing all 'properties' of the classifier. Properties are any attributes
2955 * and navigable connecting association ends.
2956 * @see ClassifierFacade#getProperties()
2957 */
2958 public List<ModelElementFacade> getProperties()
2959 {
2960 return this.getSuperService().getProperties();
2961 }
2962
2963 /**
2964 * Gets all properties (attributes and navigable association ends) for the classifier and if
2965 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super
2966 * classes as well.
2967 * @see ClassifierFacade#getProperties(boolean follow)
2968 */
2969 public List getProperties(boolean follow)
2970 {
2971 return this.getSuperService().getProperties(follow);
2972 }
2973
2974 /**
2975 * A collection containing all required and/or read-only 'properties' of the classifier.
2976 * Properties are any attributes and navigable connecting association ends.
2977 * @see ClassifierFacade#getRequiredConstructorParameters()
2978 */
2979 public Collection<ModelElementFacade> getRequiredConstructorParameters()
2980 {
2981 return this.getSuperService().getRequiredConstructorParameters();
2982 }
2983
2984 /**
2985 * Returns the serial version UID of the underlying model element.
2986 * @see ClassifierFacade#getSerialVersionUID()
2987 */
2988 public long getSerialVersionUID()
2989 {
2990 return this.getSuperService().getSerialVersionUID();
2991 }
2992
2993 /**
2994 * Those attributes that are scoped to the definition of this class.
2995 * @see ClassifierFacade#getStaticAttributes()
2996 */
2997 public Collection<AttributeFacade> getStaticAttributes()
2998 {
2999 return this.getSuperService().getStaticAttributes();
3000 }
3001
3002 /**
3003 * Those operations that are scoped to the definition of this class.
3004 * @see ClassifierFacade#getStaticOperations()
3005 */
3006 public List<OperationFacade> getStaticOperations()
3007 {
3008 return this.getSuperService().getStaticOperations();
3009 }
3010
3011 /**
3012 * This class' superclass, returns the generalization if it is a ClassifierFacade, null
3013 * otherwise.
3014 * @see ClassifierFacade#getSuperClass()
3015 */
3016 public ClassifierFacade getSuperClass()
3017 {
3018 return this.getSuperService().getSuperClass();
3019 }
3020
3021 /**
3022 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long'
3023 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will
3024 * return a null. Note that wrapper mappings must be defined for the namespace by defining the
3025 * 'wrapperMappingsUri', this property must point to the location of the mappings file which
3026 * maps the primitives to wrapper types.
3027 * @see ClassifierFacade#getWrapperName()
3028 */
3029 public String getWrapperName()
3030 {
3031 return this.getSuperService().getWrapperName();
3032 }
3033
3034 /**
3035 * Indicates if this classifier is 'abstract'.
3036 * @see ClassifierFacade#isAbstract()
3037 */
3038 public boolean isAbstract()
3039 {
3040 return this.getSuperService().isAbstract();
3041 }
3042
3043 /**
3044 * True if this classifier represents an array type. False otherwise.
3045 * @see ClassifierFacade#isArrayType()
3046 */
3047 public boolean isArrayType()
3048 {
3049 return this.getSuperService().isArrayType();
3050 }
3051
3052 /**
3053 * True if the ClassifierFacade is an AssociationClass.
3054 * @see ClassifierFacade#isAssociationClass()
3055 */
3056 public boolean isAssociationClass()
3057 {
3058 return this.getSuperService().isAssociationClass();
3059 }
3060
3061 /**
3062 * Returns true if this type represents a Blob type.
3063 * @see ClassifierFacade#isBlobType()
3064 */
3065 public boolean isBlobType()
3066 {
3067 return this.getSuperService().isBlobType();
3068 }
3069
3070 /**
3071 * Indicates if this type represents a boolean type or not.
3072 * @see ClassifierFacade#isBooleanType()
3073 */
3074 public boolean isBooleanType()
3075 {
3076 return this.getSuperService().isBooleanType();
3077 }
3078
3079 /**
3080 * Indicates if this type represents a char, Character, or java.lang.Character type or not.
3081 * @see ClassifierFacade#isCharacterType()
3082 */
3083 public boolean isCharacterType()
3084 {
3085 return this.getSuperService().isCharacterType();
3086 }
3087
3088 /**
3089 * Returns true if this type represents a Clob type.
3090 * @see ClassifierFacade#isClobType()
3091 */
3092 public boolean isClobType()
3093 {
3094 return this.getSuperService().isClobType();
3095 }
3096
3097 /**
3098 * True if this classifier represents a collection type. False otherwise.
3099 * @see ClassifierFacade#isCollectionType()
3100 */
3101 public boolean isCollectionType()
3102 {
3103 return this.getSuperService().isCollectionType();
3104 }
3105
3106 /**
3107 * True/false depending on whether or not this classifier represents a datatype. A data type is
3108 * a type whose instances are identified only by their value. A data type may contain attributes
3109 * to support the modeling of structured data types.
3110 * @see ClassifierFacade#isDataType()
3111 */
3112 public boolean isDataType()
3113 {
3114 return this.getSuperService().isDataType();
3115 }
3116
3117 /**
3118 * True when this classifier is a date type.
3119 * @see ClassifierFacade#isDateType()
3120 */
3121 public boolean isDateType()
3122 {
3123 return this.getSuperService().isDateType();
3124 }
3125
3126 /**
3127 * Indicates if this type represents a Double type or not.
3128 * @see ClassifierFacade#isDoubleType()
3129 */
3130 public boolean isDoubleType()
3131 {
3132 return this.getSuperService().isDoubleType();
3133 }
3134
3135 /**
3136 * Indicates whether or not this classifier represents an "EmbeddedValue'.
3137 * @see ClassifierFacade#isEmbeddedValue()
3138 */
3139 public boolean isEmbeddedValue()
3140 {
3141 return this.getSuperService().isEmbeddedValue();
3142 }
3143
3144 /**
3145 * True if this classifier is in fact marked as an enumeration.
3146 * @see ClassifierFacade#isEnumeration()
3147 */
3148 public boolean isEnumeration()
3149 {
3150 return this.getSuperService().isEnumeration();
3151 }
3152
3153 /**
3154 * Returns true if this type represents a 'file' type.
3155 * @see ClassifierFacade#isFileType()
3156 */
3157 public boolean isFileType()
3158 {
3159 return this.getSuperService().isFileType();
3160 }
3161
3162 /**
3163 * Indicates if this type represents a Float type or not.
3164 * @see ClassifierFacade#isFloatType()
3165 */
3166 public boolean isFloatType()
3167 {
3168 return this.getSuperService().isFloatType();
3169 }
3170
3171 /**
3172 * Indicates if this type represents an int or Integer or java.lang.Integer type or not.
3173 * @see ClassifierFacade#isIntegerType()
3174 */
3175 public boolean isIntegerType()
3176 {
3177 return this.getSuperService().isIntegerType();
3178 }
3179
3180 /**
3181 * True/false depending on whether or not this Classifier represents an interface.
3182 * @see ClassifierFacade#isInterface()
3183 */
3184 public boolean isInterface()
3185 {
3186 return this.getSuperService().isInterface();
3187 }
3188
3189 /**
3190 * True if this classifier cannot be extended and represent a leaf in the inheritance tree.
3191 * @see ClassifierFacade#isLeaf()
3192 */
3193 public boolean isLeaf()
3194 {
3195 return this.getSuperService().isLeaf();
3196 }
3197
3198 /**
3199 * True if this classifier represents a list type. False otherwise.
3200 * @see ClassifierFacade#isListType()
3201 */
3202 public boolean isListType()
3203 {
3204 return this.getSuperService().isListType();
3205 }
3206
3207 /**
3208 * Indicates if this type represents a Long type or not.
3209 * @see ClassifierFacade#isLongType()
3210 */
3211 public boolean isLongType()
3212 {
3213 return this.getSuperService().isLongType();
3214 }
3215
3216 /**
3217 * Indicates whether or not this classifier represents a Map type.
3218 * @see ClassifierFacade#isMapType()
3219 */
3220 public boolean isMapType()
3221 {
3222 return this.getSuperService().isMapType();
3223 }
3224
3225 /**
3226 * Indicates whether or not this classifier represents a primitive type.
3227 * @see ClassifierFacade#isPrimitive()
3228 */
3229 public boolean isPrimitive()
3230 {
3231 return this.getSuperService().isPrimitive();
3232 }
3233
3234 /**
3235 * True if this classifier represents a set type. False otherwise.
3236 * @see ClassifierFacade#isSetType()
3237 */
3238 public boolean isSetType()
3239 {
3240 return this.getSuperService().isSetType();
3241 }
3242
3243 /**
3244 * Indicates whether or not this classifier represents a string type.
3245 * @see ClassifierFacade#isStringType()
3246 */
3247 public boolean isStringType()
3248 {
3249 return this.getSuperService().isStringType();
3250 }
3251
3252 /**
3253 * Indicates whether or not this classifier represents a time type.
3254 * @see ClassifierFacade#isTimeType()
3255 */
3256 public boolean isTimeType()
3257 {
3258 return this.getSuperService().isTimeType();
3259 }
3260
3261 /**
3262 * Returns true if this type is a wrapped primitive type.
3263 * @see ClassifierFacade#isWrappedPrimitive()
3264 */
3265 public boolean isWrappedPrimitive()
3266 {
3267 return this.getSuperService().isWrappedPrimitive();
3268 }
3269
3270 /**
3271 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set
3272 * to true.
3273 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow)
3274 */
3275 public Object findTaggedValue(String tagName, boolean follow)
3276 {
3277 return this.getSuperService().findTaggedValue(tagName, follow);
3278 }
3279
3280 /**
3281 * All generalizations for this generalizable element, goes up the inheritance tree.
3282 * @see GeneralizableElementFacade#getAllGeneralizations()
3283 */
3284 public Collection<GeneralizableElementFacade> getAllGeneralizations()
3285 {
3286 return this.getSuperService().getAllGeneralizations();
3287 }
3288
3289 /**
3290 * All specializations (travels down the inheritance hierarchy).
3291 * @see GeneralizableElementFacade#getAllSpecializations()
3292 */
3293 public Collection<GeneralizableElementFacade> getAllSpecializations()
3294 {
3295 return this.getSuperService().getAllSpecializations();
3296 }
3297
3298 /**
3299 * Gets the direct generalization for this generalizable element.
3300 * @see GeneralizableElementFacade#getGeneralization()
3301 */
3302 public GeneralizableElementFacade getGeneralization()
3303 {
3304 return this.getSuperService().getGeneralization();
3305 }
3306
3307 /**
3308 * Gets the actual links that this generalization element is part of (it plays either the
3309 * specialization or generalization).
3310 * @see GeneralizableElementFacade#getGeneralizationLinks()
3311 */
3312 public Collection<GeneralizationFacade> getGeneralizationLinks()
3313 {
3314 return this.getSuperService().getGeneralizationLinks();
3315 }
3316
3317 /**
3318 * A comma separated list of the fully qualified names of all generalizations.
3319 * @see GeneralizableElementFacade#getGeneralizationList()
3320 */
3321 public String getGeneralizationList()
3322 {
3323 return this.getSuperService().getGeneralizationList();
3324 }
3325
3326 /**
3327 * The element found when you recursively follow the generalization path up to the root. If an
3328 * element has no generalization itself will be considered the root.
3329 * @see GeneralizableElementFacade#getGeneralizationRoot()
3330 */
3331 public GeneralizableElementFacade getGeneralizationRoot()
3332 {
3333 return this.getSuperService().getGeneralizationRoot();
3334 }
3335
3336 /**
3337 * Return all generalizations (ancestors) from this generalizable element.
3338 * @see GeneralizableElementFacade#getGeneralizations()
3339 */
3340 public Collection<GeneralizableElementFacade> getGeneralizations()
3341 {
3342 return this.getSuperService().getGeneralizations();
3343 }
3344
3345 /**
3346 * Gets the direct specializations (i.e. sub elements) for this generalizatble element.
3347 * @see GeneralizableElementFacade#getSpecializations()
3348 */
3349 public Collection<GeneralizableElementFacade> getSpecializations()
3350 {
3351 return this.getSuperService().getSpecializations();
3352 }
3353
3354 /**
3355 * Copies all tagged values from the given ModelElementFacade to this model element facade.
3356 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
3357 */
3358 public void copyTaggedValues(ModelElementFacade element)
3359 {
3360 this.getSuperService().copyTaggedValues(element);
3361 }
3362
3363 /**
3364 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
3365 * one found will be returned.
3366 * @see ModelElementFacade#findTaggedValue(String tagName)
3367 */
3368 public Object findTaggedValue(String tagName)
3369 {
3370 return this.getSuperService().findTaggedValue(tagName);
3371 }
3372
3373 /**
3374 * Returns all the values for the tagged value with the specified name. The returned collection
3375 * will contains only String instances, or will be empty. Never null.
3376 * @see ModelElementFacade#findTaggedValues(String tagName)
3377 */
3378 public Collection<Object> findTaggedValues(String tagName)
3379 {
3380 return this.getSuperService().findTaggedValues(tagName);
3381 }
3382
3383 /**
3384 * Returns the fully qualified name of the model element. The fully qualified name includes
3385 * complete package qualified name of the underlying model element. The templates parameter will
3386 * be replaced by the correct one given the binding relation of the parameter to this element.
3387 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
3388 */
3389 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
3390 {
3391 return this.getSuperService().getBindedFullyQualifiedName(bindedElement);
3392 }
3393
3394 /**
3395 * Gets all constraints belonging to the model element.
3396 * @see ModelElementFacade#getConstraints()
3397 */
3398 public Collection<ConstraintFacade> getConstraints()
3399 {
3400 return this.getSuperService().getConstraints();
3401 }
3402
3403 /**
3404 * Returns the constraints of the argument kind that have been placed onto this model. Typical
3405 * kinds are "inv", "pre" and "post". Other kinds are possible.
3406 * @see ModelElementFacade#getConstraints(String kind)
3407 */
3408 public Collection<ConstraintFacade> getConstraints(String kind)
3409 {
3410 return this.getSuperService().getConstraints(kind);
3411 }
3412
3413 /**
3414 * Gets the documentation for the model element, The indent argument is prefixed to each line.
3415 * By default this method wraps lines after 64 characters.
3416 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
3417 * @see ModelElementFacade#getDocumentation(String indent)
3418 */
3419 public String getDocumentation(String indent)
3420 {
3421 return this.getSuperService().getDocumentation(indent);
3422 }
3423
3424 /**
3425 * This method returns the documentation for this model element, with the lines wrapped after
3426 * the specified number of characters, values of less than 1 will indicate no line wrapping is
3427 * required. By default paragraphs are returned as HTML.
3428 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
3429 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
3430 */
3431 public String getDocumentation(String indent, int lineLength)
3432 {
3433 return this.getSuperService().getDocumentation(indent, lineLength);
3434 }
3435
3436 /**
3437 * This method returns the documentation for this model element, with the lines wrapped after
3438 * the specified number of characters, values of less than 1 will indicate no line wrapping is
3439 * required. HTML style determines if HTML Escaping is applied.
3440 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
3441 */
3442 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
3443 {
3444 return this.getSuperService().getDocumentation(indent, lineLength, htmlStyle);
3445 }
3446
3447 /**
3448 * The fully qualified name of this model element.
3449 * @see ModelElementFacade#getFullyQualifiedName()
3450 */
3451 public String getFullyQualifiedName()
3452 {
3453 return this.getSuperService().getFullyQualifiedName();
3454 }
3455
3456 /**
3457 * Returns the fully qualified name of the model element. The fully qualified name includes
3458 * complete package qualified name of the underlying model element. If modelName is true, then
3459 * the original name of the model element (the name contained within the model) will be the name
3460 * returned, otherwise a name from a language mapping will be returned.
3461 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
3462 */
3463 public String getFullyQualifiedName(boolean modelName)
3464 {
3465 return this.getSuperService().getFullyQualifiedName(modelName);
3466 }
3467
3468 /**
3469 * Returns the fully qualified name as a path, the returned value always starts with out a slash
3470 * '/'.
3471 * @see ModelElementFacade#getFullyQualifiedNamePath()
3472 */
3473 public String getFullyQualifiedNamePath()
3474 {
3475 return this.getSuperService().getFullyQualifiedNamePath();
3476 }
3477
3478 /**
3479 * Gets the unique identifier of the underlying model element.
3480 * @see ModelElementFacade#getId()
3481 */
3482 public String getId()
3483 {
3484 return this.getSuperService().getId();
3485 }
3486
3487 /**
3488 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
3489 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
3490 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
3491 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
3492 * JDK5 compiler level.
3493 * @see ModelElementFacade#getKeywords()
3494 */
3495 public Collection<String> getKeywords()
3496 {
3497 return this.getSuperService().getKeywords();
3498 }
3499
3500 /**
3501 * UML2: Retrieves a localized label for this named element.
3502 * @see ModelElementFacade#getLabel()
3503 */
3504 public String getLabel()
3505 {
3506 return this.getSuperService().getLabel();
3507 }
3508
3509 /**
3510 * The language mappings that have been set for this model element.
3511 * @see ModelElementFacade#getLanguageMappings()
3512 */
3513 public TypeMappings getLanguageMappings()
3514 {
3515 return this.getSuperService().getLanguageMappings();
3516 }
3517
3518 /**
3519 * Return the model containing this model element (multiple models may be loaded and processed
3520 * at the same time).
3521 * @see ModelElementFacade#getModel()
3522 */
3523 public ModelFacade getModel()
3524 {
3525 return this.getSuperService().getModel();
3526 }
3527
3528 /**
3529 * The name of the model element.
3530 * @see ModelElementFacade#getName()
3531 */
3532 public String getName()
3533 {
3534 return this.getSuperService().getName();
3535 }
3536
3537 /**
3538 * Gets the package to which this model element belongs.
3539 * @see ModelElementFacade#getPackage()
3540 */
3541 public ModelElementFacade getPackage()
3542 {
3543 return this.getSuperService().getPackage();
3544 }
3545
3546 /**
3547 * The name of this model element's package.
3548 * @see ModelElementFacade#getPackageName()
3549 */
3550 public String getPackageName()
3551 {
3552 return this.getSuperService().getPackageName();
3553 }
3554
3555 /**
3556 * Gets the package name (optionally providing the ability to retrieve the model name and not
3557 * the mapped name).
3558 * @see ModelElementFacade#getPackageName(boolean modelName)
3559 */
3560 public String getPackageName(boolean modelName)
3561 {
3562 return this.getSuperService().getPackageName(modelName);
3563 }
3564
3565 /**
3566 * Returns the package as a path, the returned value always starts with out a slash '/'.
3567 * @see ModelElementFacade#getPackagePath()
3568 */
3569 public String getPackagePath()
3570 {
3571 return this.getSuperService().getPackagePath();
3572 }
3573
3574 /**
3575 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
3576 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
3577 * the names of the containing namespaces starting at the root of the hierarchy and ending with
3578 * the name of the NamedElement itself.
3579 * @see ModelElementFacade#getQualifiedName()
3580 */
3581 public String getQualifiedName()
3582 {
3583 return this.getSuperService().getQualifiedName();
3584 }
3585
3586 /**
3587 * Gets the root package for the model element.
3588 * @see ModelElementFacade#getRootPackage()
3589 */
3590 public PackageFacade getRootPackage()
3591 {
3592 return this.getSuperService().getRootPackage();
3593 }
3594
3595 /**
3596 * Gets the dependencies for which this model element is the source.
3597 * @see ModelElementFacade#getSourceDependencies()
3598 */
3599 public Collection<DependencyFacade> getSourceDependencies()
3600 {
3601 return this.getSuperService().getSourceDependencies();
3602 }
3603
3604 /**
3605 * If this model element is the context of an activity graph, this represents that activity
3606 * graph.
3607 * @see ModelElementFacade#getStateMachineContext()
3608 */
3609 public StateMachineFacade getStateMachineContext()
3610 {
3611 return this.getSuperService().getStateMachineContext();
3612 }
3613
3614 /**
3615 * The collection of ALL stereotype names for this model element.
3616 * @see ModelElementFacade#getStereotypeNames()
3617 */
3618 public Collection<String> getStereotypeNames()
3619 {
3620 return this.getSuperService().getStereotypeNames();
3621 }
3622
3623 /**
3624 * Gets all stereotypes for this model element.
3625 * @see ModelElementFacade#getStereotypes()
3626 */
3627 public Collection<StereotypeFacade> getStereotypes()
3628 {
3629 return this.getSuperService().getStereotypes();
3630 }
3631
3632 /**
3633 * Return the TaggedValues associated with this model element, under all stereotypes.
3634 * @see ModelElementFacade#getTaggedValues()
3635 */
3636 public Collection<TaggedValueFacade> getTaggedValues()
3637 {
3638 return this.getSuperService().getTaggedValues();
3639 }
3640
3641 /**
3642 * Gets the dependencies for which this model element is the target.
3643 * @see ModelElementFacade#getTargetDependencies()
3644 */
3645 public Collection<DependencyFacade> getTargetDependencies()
3646 {
3647 return this.getSuperService().getTargetDependencies();
3648 }
3649
3650 /**
3651 * Get the template parameter for this model element having the parameterName
3652 * @see ModelElementFacade#getTemplateParameter(String parameterName)
3653 */
3654 public Object getTemplateParameter(String parameterName)
3655 {
3656 return this.getSuperService().getTemplateParameter(parameterName);
3657 }
3658
3659 /**
3660 * Get the template parameters for this model element
3661 * @see ModelElementFacade#getTemplateParameters()
3662 */
3663 public Collection<TemplateParameterFacade> getTemplateParameters()
3664 {
3665 return this.getSuperService().getTemplateParameters();
3666 }
3667
3668 /**
3669 * The visibility (i.e. public, private, protected or package) of the model element, will
3670 * attempt a lookup for these values in the language mappings (if any).
3671 * @see ModelElementFacade#getVisibility()
3672 */
3673 public String getVisibility()
3674 {
3675 return this.getSuperService().getVisibility();
3676 }
3677
3678 /**
3679 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
3680 * is taken into account when searching for the stereotype), false otherwise.
3681 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
3682 */
3683 public boolean hasExactStereotype(String stereotypeName)
3684 {
3685 return this.getSuperService().hasExactStereotype(stereotypeName);
3686 }
3687
3688 /**
3689 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
3690 * pipe, semicolon, or << >>
3691 * @see ModelElementFacade#hasKeyword(String keywordName)
3692 */
3693 public boolean hasKeyword(String keywordName)
3694 {
3695 return this.getSuperService().hasKeyword(keywordName);
3696 }
3697
3698 /**
3699 * Returns true if the model element has the specified stereotype. If the stereotype itself
3700 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
3701 * one of the stereotype's ancestors has a matching name this method will return true, false
3702 * otherwise.
3703 * For example, if we have a certain stereotype called <<exception>> and a model element has a
3704 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
3705 * method with 'stereotypeName' defined as 'exception' the method would return true since
3706 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
3707 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
3708 * @see ModelElementFacade#hasStereotype(String stereotypeName)
3709 */
3710 public boolean hasStereotype(String stereotypeName)
3711 {
3712 return this.getSuperService().hasStereotype(stereotypeName);
3713 }
3714
3715 /**
3716 * True if there are target dependencies from this element that are instances of BindingFacade.
3717 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
3718 * @see ModelElementFacade#isBindingDependenciesPresent()
3719 */
3720 public boolean isBindingDependenciesPresent()
3721 {
3722 return this.getSuperService().isBindingDependenciesPresent();
3723 }
3724
3725 /**
3726 * Indicates if any constraints are present on this model element.
3727 * @see ModelElementFacade#isConstraintsPresent()
3728 */
3729 public boolean isConstraintsPresent()
3730 {
3731 return this.getSuperService().isConstraintsPresent();
3732 }
3733
3734 /**
3735 * Indicates if any documentation is present on this model element.
3736 * @see ModelElementFacade#isDocumentationPresent()
3737 */
3738 public boolean isDocumentationPresent()
3739 {
3740 return this.getSuperService().isDocumentationPresent();
3741 }
3742
3743 /**
3744 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
3745 * @see ModelElementFacade#isReservedWord()
3746 */
3747 public boolean isReservedWord()
3748 {
3749 return this.getSuperService().isReservedWord();
3750 }
3751
3752 /**
3753 * True is there are template parameters on this model element. For UML2, applies to Class,
3754 * Operation, Property, and Parameter.
3755 * @see ModelElementFacade#isTemplateParametersPresent()
3756 */
3757 public boolean isTemplateParametersPresent()
3758 {
3759 return this.getSuperService().isTemplateParametersPresent();
3760 }
3761
3762 /**
3763 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
3764 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
3765 * Enumerations and Interfaces, optionally applies on other model elements.
3766 * @see ModelElementFacade#isValidIdentifierName()
3767 */
3768 public boolean isValidIdentifierName()
3769 {
3770 return this.getSuperService().isValidIdentifierName();
3771 }
3772
3773 /**
3774 * Searches for the constraint with the specified 'name' on this model element, and if found
3775 * translates it using the specified 'translation' from a translation library discovered by the
3776 * framework.
3777 * @see ModelElementFacade#translateConstraint(String name, String translation)
3778 */
3779 public String translateConstraint(String name, String translation)
3780 {
3781 return this.getSuperService().translateConstraint(name, translation);
3782 }
3783
3784 /**
3785 * Translates all constraints belonging to this model element with the given 'translation'.
3786 * @see ModelElementFacade#translateConstraints(String translation)
3787 */
3788 public String[] translateConstraints(String translation)
3789 {
3790 return this.getSuperService().translateConstraints(translation);
3791 }
3792
3793 /**
3794 * Translates the constraints of the specified 'kind' belonging to this model element.
3795 * @see ModelElementFacade#translateConstraints(String kind, String translation)
3796 */
3797 public String[] translateConstraints(String kind, String translation)
3798 {
3799 return this.getSuperService().translateConstraints(kind, translation);
3800 }
3801
3802 /**
3803 * Returns a collection of all entities this service and its ancestors have a relation to.
3804 * @see Service#getAllEntityReferences()
3805 */
3806 public Collection<DependencyFacade> getAllEntityReferences()
3807 {
3808 return this.getSuperService().getAllEntityReferences();
3809 }
3810
3811 /**
3812 * All messaging destinations that belong to this service and all decendent services.
3813 * @see Service#getAllMessagingDestinations()
3814 */
3815 public Collection<Destination> getAllMessagingDestinations()
3816 {
3817 return this.getSuperService().getAllMessagingDestinations();
3818 }
3819
3820 /**
3821 * All roles associated with the service, this includes both roles that have access to the
3822 * entire service, and any roles that have access to a single operation.
3823 * @see Service#getAllRoles()
3824 */
3825 public Collection<Role> getAllRoles()
3826 {
3827 return this.getSuperService().getAllRoles();
3828 }
3829
3830 /**
3831 * Returns a collection of all services this service and its ancestors have a relation to.
3832 * @see Service#getAllServiceReferences()
3833 */
3834 public Collection<DependencyFacade> getAllServiceReferences()
3835 {
3836 return this.getSuperService().getAllServiceReferences();
3837 }
3838
3839 /**
3840 * References to all entities to which this service has a dependency.
3841 * @see Service#getEntityReferences()
3842 */
3843 public Collection<DependencyFacade> getEntityReferences()
3844 {
3845 return this.getSuperService().getEntityReferences();
3846 }
3847
3848 /**
3849 * All messaging destinations available to this service.
3850 * @see Service#getMessagingDestinations()
3851 */
3852 public Collection<Destination> getMessagingDestinations()
3853 {
3854 return this.getSuperService().getMessagingDestinations();
3855 }
3856
3857 /**
3858 * The roles of the service, these are the actor's that can access this service.
3859 * @see Service#getRoles()
3860 */
3861 public Collection<Role> getRoles()
3862 {
3863 return this.getSuperService().getRoles();
3864 }
3865
3866 /**
3867 * References to all services to which this service has a dependency.
3868 * @see Service#getServiceReferences()
3869 */
3870 public Collection<DependencyFacade> getServiceReferences()
3871 {
3872 return this.getSuperService().getServiceReferences();
3873 }
3874
3875 /**
3876 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
3877 */
3878 @Override
3879 public void initialize()
3880 {
3881 this.getSuperService().initialize();
3882 }
3883
3884 /**
3885 * @return Object getSuperService().getValidationOwner()
3886 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
3887 */
3888 @Override
3889 public Object getValidationOwner()
3890 {
3891 Object owner = this.getSuperService().getValidationOwner();
3892 return owner;
3893 }
3894
3895 /**
3896 * @return String getSuperService().getValidationName()
3897 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
3898 */
3899 @Override
3900 public String getValidationName()
3901 {
3902 String name = this.getSuperService().getValidationName();
3903 return name;
3904 }
3905
3906 /**
3907 * @param validationMessages Collection<ModelValidationMessage>
3908 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
3909 */
3910 @Override
3911 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
3912 {
3913 this.getSuperService().validateInvariants(validationMessages);
3914 }
3915
3916 /**
3917 * The property that stores the name of the metafacade.
3918 */
3919 private static final String NAME_PROPERTY = "name";
3920 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
3921
3922 /**
3923 * @see Object#toString()
3924 */
3925 @Override
3926 public String toString()
3927 {
3928 final StringBuilder toString = new StringBuilder(this.getClass().getName());
3929 toString.append("[");
3930 try
3931 {
3932 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
3933 }
3934 catch (final Throwable tryAgain)
3935 {
3936 try
3937 {
3938 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
3939 }
3940 catch (final Throwable ignore)
3941 {
3942 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
3943 }
3944 }
3945 toString.append("]");
3946 return toString.toString();
3947 }
3948 }