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.Entity;
19 import org.andromda.metafacades.uml.EntityAssociationEnd;
20 import org.andromda.metafacades.uml.EntityQueryOperation;
21 import org.andromda.metafacades.uml.GeneralizableElementFacade;
22 import org.andromda.metafacades.uml.GeneralizationFacade;
23 import org.andromda.metafacades.uml.ModelElementFacade;
24 import org.andromda.metafacades.uml.ModelFacade;
25 import org.andromda.metafacades.uml.OperationFacade;
26 import org.andromda.metafacades.uml.PackageFacade;
27 import org.andromda.metafacades.uml.Role;
28 import org.andromda.metafacades.uml.StateMachineFacade;
29 import org.andromda.metafacades.uml.StereotypeFacade;
30 import org.andromda.metafacades.uml.TaggedValueFacade;
31 import org.andromda.metafacades.uml.TemplateParameterFacade;
32 import org.andromda.metafacades.uml.TypeMappings;
33 import org.andromda.translation.ocl.validation.OCLCollections;
34 import org.andromda.translation.ocl.validation.OCLIntrospector;
35 import org.andromda.translation.ocl.validation.OCLResultEnsurer;
36 import org.apache.log4j.Logger;
37
38 /**
39 * Represents an entity EJB.
40 * MetafacadeLogic for EJB3EntityFacade
41 *
42 * @see EJB3EntityFacade
43 */
44 public abstract class EJB3EntityFacadeLogic
45 extends MetafacadeBase
46 implements EJB3EntityFacade
47 {
48 /**
49 * The underlying UML object
50 * @see Object
51 */
52 protected Object metaObject;
53
54 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
55 * @param metaObjectIn
56 * @param context
57 */
58 protected EJB3EntityFacadeLogic(Object metaObjectIn, String context)
59 {
60 super(metaObjectIn, getContext(context));
61 this.superEntity =
62 (Entity)
63 MetafacadeFactory.getInstance().createFacadeImpl(
64 "org.andromda.metafacades.uml.Entity",
65 metaObjectIn,
66 getContext(context));
67 this.metaObject = metaObjectIn;
68 }
69
70 /**
71 * The logger instance.
72 */
73 private static final Logger logger = Logger.getLogger(EJB3EntityFacadeLogic.class);
74
75 /**
76 * Gets the context for this metafacade logic instance.
77 * @param context String. Set to EJB3EntityFacade if null
78 * @return context String
79 */
80 private static String getContext(String context)
81 {
82 if (context == null)
83 {
84 context = "org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade";
85 }
86 return context;
87 }
88
89 private Entity superEntity;
90 private boolean superEntityInitialized = false;
91
92 /**
93 * Gets the Entity parent instance.
94 * @return this.superEntity Entity
95 */
96 private Entity getSuperEntity()
97 {
98 if (!this.superEntityInitialized)
99 {
100 ((MetafacadeBase)this.superEntity).setMetafacadeContext(this.getMetafacadeContext());
101 this.superEntityInitialized = true;
102 }
103 return this.superEntity;
104 }
105
106 /** Reset context only for non-root metafacades
107 * @param context
108 * @see MetafacadeBase#resetMetafacadeContext(String context)
109 */
110 @Override
111 public void resetMetafacadeContext(String context)
112 {
113 if (!this.contextRoot) // reset context only for non-root metafacades
114 {
115 context = getContext(context); // to have same value as in original constructor call
116 setMetafacadeContext (context);
117 if (this.superEntityInitialized)
118 {
119 ((MetafacadeBase)this.superEntity).resetMetafacadeContext(context);
120 }
121 }
122 }
123
124 /**
125 * @return boolean true always
126 * @see EJB3EntityFacade
127 */
128 public boolean isEJB3EntityFacadeMetaType()
129 {
130 return true;
131 }
132
133 // --------------- attributes ---------------------
134
135 /**
136 * @see EJB3EntityFacade#isSyntheticCreateMethodAllowed()
137 * @return boolean
138 */
139 protected abstract boolean handleIsSyntheticCreateMethodAllowed();
140
141 private boolean __syntheticCreateMethodAllowed1a;
142 private boolean __syntheticCreateMethodAllowed1aSet = false;
143
144 /**
145 * Whether or not to allow a synthetic (auto generated) create method.
146 * @return (boolean)handleIsSyntheticCreateMethodAllowed()
147 */
148 public final boolean isSyntheticCreateMethodAllowed()
149 {
150 boolean syntheticCreateMethodAllowed1a = this.__syntheticCreateMethodAllowed1a;
151 if (!this.__syntheticCreateMethodAllowed1aSet)
152 {
153 // syntheticCreateMethodAllowed has no pre constraints
154 syntheticCreateMethodAllowed1a = handleIsSyntheticCreateMethodAllowed();
155 // syntheticCreateMethodAllowed has no post constraints
156 this.__syntheticCreateMethodAllowed1a = syntheticCreateMethodAllowed1a;
157 if (isMetafacadePropertyCachingEnabled())
158 {
159 this.__syntheticCreateMethodAllowed1aSet = true;
160 }
161 }
162 return syntheticCreateMethodAllowed1a;
163 }
164
165 /**
166 * @see EJB3EntityFacade#getAllEntityRelations()
167 * @return Collection
168 */
169 protected abstract Collection handleGetAllEntityRelations();
170
171 private Collection __allEntityRelations2a;
172 private boolean __allEntityRelations2aSet = false;
173
174 /**
175 * Find all associations that define relations to other entities.
176 * This method returns the source association ends for all associations that define
177 * a container managed relation. The returned collection includes both
178 * direct relations and inherited relations. A direct relation is an association with some other
179 * class matching the following criteria: 1) The class at the other side of the association is
180 * stereotyped <<Entity>> 2) The association is navigable from to the other side.
181 * An inherited relation is an association from an abstract super type matching the following
182 * criteria: 1) The inheritance path to this abstract super type, including this super type
183 * itself, consists only of abstract classes with stereotype <<Entity>> 2) The class at the
184 * other side of the association is stereotyped <<Entity>>. 3) The association is navigable from
185 * this abstract super type to the other side.
186 * Relations must match the following integrity constraint:
187 * - The <<Entity>> at the target end is not abstract.
188 * The integrity constraint is necessary because the target of a container managed relation in
189 * the EJB framework must be a concrete entity bean; there is no such thing as an
190 * "abstract entity bean" in the EJB specification. It is possible, however, to generate and
191 * compile code for this case, an error will only show up at deploy time. In order to catch
192 * this kind of error at the earliest possible stage, this method checks the integrity
193 * constraint and throws an exception if it is violated.
194 * @return (Collection)handleGetAllEntityRelations()
195 */
196 public final Collection getAllEntityRelations()
197 {
198 Collection allEntityRelations2a = this.__allEntityRelations2a;
199 if (!this.__allEntityRelations2aSet)
200 {
201 // allEntityRelations has no pre constraints
202 allEntityRelations2a = handleGetAllEntityRelations();
203 // allEntityRelations has no post constraints
204 this.__allEntityRelations2a = allEntityRelations2a;
205 if (isMetafacadePropertyCachingEnabled())
206 {
207 this.__allEntityRelations2aSet = true;
208 }
209 }
210 return allEntityRelations2a;
211 }
212
213 /**
214 * @see EJB3EntityFacade#getJndiName()
215 * @return String
216 */
217 protected abstract String handleGetJndiName();
218
219 private String __jndiName3a;
220 private boolean __jndiName3aSet = false;
221
222 /**
223 * jndiNamePrefix/ejb/this.getFullyQualifiedName()
224 * @return (String)handleGetJndiName()
225 */
226 public final String getJndiName()
227 {
228 String jndiName3a = this.__jndiName3a;
229 if (!this.__jndiName3aSet)
230 {
231 // jndiName has no pre constraints
232 jndiName3a = handleGetJndiName();
233 // jndiName has no post constraints
234 this.__jndiName3a = jndiName3a;
235 if (isMetafacadePropertyCachingEnabled())
236 {
237 this.__jndiName3aSet = true;
238 }
239 }
240 return jndiName3a;
241 }
242
243 /**
244 * @see EJB3EntityFacade#getViewType()
245 * @return String
246 */
247 protected abstract String handleGetViewType();
248
249 private String __viewType4a;
250 private boolean __viewType4aSet = false;
251
252 /**
253 * A string indicating whether the Bean is a local or remotely accessable bean.
254 * @return (String)handleGetViewType()
255 */
256 public final String getViewType()
257 {
258 String viewType4a = this.__viewType4a;
259 if (!this.__viewType4aSet)
260 {
261 // viewType has no pre constraints
262 viewType4a = handleGetViewType();
263 // viewType has no post constraints
264 this.__viewType4a = viewType4a;
265 if (isMetafacadePropertyCachingEnabled())
266 {
267 this.__viewType4aSet = true;
268 }
269 }
270 return viewType4a;
271 }
272
273 /**
274 * @see EJB3EntityFacade#getAllInstanceAttributes()
275 * @return List
276 */
277 protected abstract List handleGetAllInstanceAttributes();
278
279 private List __allInstanceAttributes5a;
280 private boolean __allInstanceAttributes5aSet = false;
281
282 /**
283 * All instanceAttributes for this entity. The list includes the instanceAttributes that are
284 * inherited from super classes. The list contains the inherited instanceAttributes first,
285 * followed by the instanceAttributes defined in this class.
286 * @return (List)handleGetAllInstanceAttributes()
287 */
288 public final List getAllInstanceAttributes()
289 {
290 List allInstanceAttributes5a = this.__allInstanceAttributes5a;
291 if (!this.__allInstanceAttributes5aSet)
292 {
293 // allInstanceAttributes has no pre constraints
294 allInstanceAttributes5a = handleGetAllInstanceAttributes();
295 // allInstanceAttributes has no post constraints
296 this.__allInstanceAttributes5a = allInstanceAttributes5a;
297 if (isMetafacadePropertyCachingEnabled())
298 {
299 this.__allInstanceAttributes5aSet = true;
300 }
301 }
302 return allInstanceAttributes5a;
303 }
304
305 /**
306 * @see EJB3EntityFacade#getInheritedInstanceAttributes()
307 * @return List
308 */
309 protected abstract List handleGetInheritedInstanceAttributes();
310
311 private List __inheritedInstanceAttributes6a;
312 private boolean __inheritedInstanceAttributes6aSet = false;
313
314 /**
315 * All inherited instanceAttributes this class. The instanceAttributes are grouped by the class
316 * that defines the instanceAttributes, with instanceAttributes from the most removed super
317 * class first.
318 * @return (List)handleGetInheritedInstanceAttributes()
319 */
320 public final List getInheritedInstanceAttributes()
321 {
322 List inheritedInstanceAttributes6a = this.__inheritedInstanceAttributes6a;
323 if (!this.__inheritedInstanceAttributes6aSet)
324 {
325 // inheritedInstanceAttributes has no pre constraints
326 inheritedInstanceAttributes6a = handleGetInheritedInstanceAttributes();
327 // inheritedInstanceAttributes has no post constraints
328 this.__inheritedInstanceAttributes6a = inheritedInstanceAttributes6a;
329 if (isMetafacadePropertyCachingEnabled())
330 {
331 this.__inheritedInstanceAttributes6aSet = true;
332 }
333 }
334 return inheritedInstanceAttributes6a;
335 }
336
337 /**
338 * @see EJB3EntityFacade#getHomeInterfaceName()
339 * @return String
340 */
341 protected abstract String handleGetHomeInterfaceName();
342
343 private String __homeInterfaceName7a;
344 private boolean __homeInterfaceName7aSet = false;
345
346 /**
347 * A String representing the name of a home interface for this entity EJB.
348 * @return (String)handleGetHomeInterfaceName()
349 */
350 public final String getHomeInterfaceName()
351 {
352 String homeInterfaceName7a = this.__homeInterfaceName7a;
353 if (!this.__homeInterfaceName7aSet)
354 {
355 // homeInterfaceName has no pre constraints
356 homeInterfaceName7a = handleGetHomeInterfaceName();
357 // homeInterfaceName has no post constraints
358 this.__homeInterfaceName7a = homeInterfaceName7a;
359 if (isMetafacadePropertyCachingEnabled())
360 {
361 this.__homeInterfaceName7aSet = true;
362 }
363 }
364 return homeInterfaceName7a;
365 }
366
367 /**
368 * @see EJB3EntityFacade#getValueDependencies()
369 * @return Collection
370 */
371 protected abstract Collection handleGetValueDependencies();
372
373 private Collection __valueDependencies8a;
374 private boolean __valueDependencies8aSet = false;
375
376 /**
377 * ValueObject dependency references from this Entity
378 * @return (Collection)handleGetValueDependencies()
379 */
380 public final Collection getValueDependencies()
381 {
382 Collection valueDependencies8a = this.__valueDependencies8a;
383 if (!this.__valueDependencies8aSet)
384 {
385 // valueDependencies has no pre constraints
386 valueDependencies8a = handleGetValueDependencies();
387 // valueDependencies has no post constraints
388 this.__valueDependencies8a = valueDependencies8a;
389 if (isMetafacadePropertyCachingEnabled())
390 {
391 this.__valueDependencies8aSet = true;
392 }
393 }
394 return valueDependencies8a;
395 }
396
397 /**
398 * @see EJB3EntityFacade#getEntityRelations()
399 * @return Collection
400 */
401 protected abstract Collection handleGetEntityRelations();
402
403 private Collection __entityRelations9a;
404 private boolean __entityRelations9aSet = false;
405
406 /**
407 * Entity classes that are association relationships from this entity.
408 * @return (Collection)handleGetEntityRelations()
409 */
410 public final Collection getEntityRelations()
411 {
412 Collection entityRelations9a = this.__entityRelations9a;
413 if (!this.__entityRelations9aSet)
414 {
415 // entityRelations has no pre constraints
416 entityRelations9a = handleGetEntityRelations();
417 // entityRelations has no post constraints
418 this.__entityRelations9a = entityRelations9a;
419 if (isMetafacadePropertyCachingEnabled())
420 {
421 this.__entityRelations9aSet = true;
422 }
423 }
424 return entityRelations9a;
425 }
426
427 /**
428 * @see EJB3EntityFacade#getEntityListenerName()
429 * @return String
430 */
431 protected abstract String handleGetEntityListenerName();
432
433 private String __entityListenerName10a;
434 private boolean __entityListenerName10aSet = false;
435
436 /**
437 * Entity listener class name for callback methods.
438 * @return (String)handleGetEntityListenerName()
439 */
440 public final String getEntityListenerName()
441 {
442 String entityListenerName10a = this.__entityListenerName10a;
443 if (!this.__entityListenerName10aSet)
444 {
445 // entityListenerName has no pre constraints
446 entityListenerName10a = handleGetEntityListenerName();
447 // entityListenerName has no post constraints
448 this.__entityListenerName10a = entityListenerName10a;
449 if (isMetafacadePropertyCachingEnabled())
450 {
451 this.__entityListenerName10aSet = true;
452 }
453 }
454 return entityListenerName10a;
455 }
456
457 /**
458 * @see EJB3EntityFacade#getEntityEmbeddableName()
459 * @return String
460 */
461 protected abstract String handleGetEntityEmbeddableName();
462
463 private String __entityEmbeddableName11a;
464 private boolean __entityEmbeddableName11aSet = false;
465
466 /**
467 * Entity embeddable super class name this entity inherits from.
468 * @return (String)handleGetEntityEmbeddableName()
469 */
470 public final String getEntityEmbeddableName()
471 {
472 String entityEmbeddableName11a = this.__entityEmbeddableName11a;
473 if (!this.__entityEmbeddableName11aSet)
474 {
475 // entityEmbeddableName has no pre constraints
476 entityEmbeddableName11a = handleGetEntityEmbeddableName();
477 // entityEmbeddableName has no post constraints
478 this.__entityEmbeddableName11a = entityEmbeddableName11a;
479 if (isMetafacadePropertyCachingEnabled())
480 {
481 this.__entityEmbeddableName11aSet = true;
482 }
483 }
484 return entityEmbeddableName11a;
485 }
486
487 /**
488 * @see EJB3EntityFacade#getFullyQualifiedEntityListenerName()
489 * @return String
490 */
491 protected abstract String handleGetFullyQualifiedEntityListenerName();
492
493 private String __fullyQualifiedEntityListenerName12a;
494 private boolean __fullyQualifiedEntityListenerName12aSet = false;
495
496 /**
497 * Fully qualified name of the Entity listner class holding entity callback methods.
498 * @return (String)handleGetFullyQualifiedEntityListenerName()
499 */
500 public final String getFullyQualifiedEntityListenerName()
501 {
502 String fullyQualifiedEntityListenerName12a = this.__fullyQualifiedEntityListenerName12a;
503 if (!this.__fullyQualifiedEntityListenerName12aSet)
504 {
505 // fullyQualifiedEntityListenerName has no pre constraints
506 fullyQualifiedEntityListenerName12a = handleGetFullyQualifiedEntityListenerName();
507 // fullyQualifiedEntityListenerName has no post constraints
508 this.__fullyQualifiedEntityListenerName12a = fullyQualifiedEntityListenerName12a;
509 if (isMetafacadePropertyCachingEnabled())
510 {
511 this.__fullyQualifiedEntityListenerName12aSet = true;
512 }
513 }
514 return fullyQualifiedEntityListenerName12a;
515 }
516
517 /**
518 * @see EJB3EntityFacade#getFullyQualifiedEntityEmbeddableName()
519 * @return String
520 */
521 protected abstract String handleGetFullyQualifiedEntityEmbeddableName();
522
523 private String __fullyQualifiedEntityEmbeddableName13a;
524 private boolean __fullyQualifiedEntityEmbeddableName13aSet = false;
525
526 /**
527 * The fully qualified name of the embeddable super class of this entity.
528 * @return (String)handleGetFullyQualifiedEntityEmbeddableName()
529 */
530 public final String getFullyQualifiedEntityEmbeddableName()
531 {
532 String fullyQualifiedEntityEmbeddableName13a = this.__fullyQualifiedEntityEmbeddableName13a;
533 if (!this.__fullyQualifiedEntityEmbeddableName13aSet)
534 {
535 // fullyQualifiedEntityEmbeddableName has no pre constraints
536 fullyQualifiedEntityEmbeddableName13a = handleGetFullyQualifiedEntityEmbeddableName();
537 // fullyQualifiedEntityEmbeddableName has no post constraints
538 this.__fullyQualifiedEntityEmbeddableName13a = fullyQualifiedEntityEmbeddableName13a;
539 if (isMetafacadePropertyCachingEnabled())
540 {
541 this.__fullyQualifiedEntityEmbeddableName13aSet = true;
542 }
543 }
544 return fullyQualifiedEntityEmbeddableName13a;
545 }
546
547 /**
548 * @see EJB3EntityFacade#getDefaultCascadeType()
549 * @return String
550 */
551 protected abstract String handleGetDefaultCascadeType();
552
553 private String __defaultCascadeType14a;
554 private boolean __defaultCascadeType14aSet = false;
555
556 /**
557 * Returns the default entity cascadable property attribute looked up in the namespace
558 * descriptor.
559 * @return (String)handleGetDefaultCascadeType()
560 */
561 public final String getDefaultCascadeType()
562 {
563 String defaultCascadeType14a = this.__defaultCascadeType14a;
564 if (!this.__defaultCascadeType14aSet)
565 {
566 // defaultCascadeType has no pre constraints
567 defaultCascadeType14a = handleGetDefaultCascadeType();
568 // defaultCascadeType has no post constraints
569 this.__defaultCascadeType14a = defaultCascadeType14a;
570 if (isMetafacadePropertyCachingEnabled())
571 {
572 this.__defaultCascadeType14aSet = true;
573 }
574 }
575 return defaultCascadeType14a;
576 }
577
578 /**
579 * @see EJB3EntityFacade#getDiscriminatorColumn()
580 * @return String
581 */
582 protected abstract String handleGetDiscriminatorColumn();
583
584 private String __discriminatorColumn15a;
585 private boolean __discriminatorColumn15aSet = false;
586
587 /**
588 * The name of the discriminator column. Default is TYPE if this is missing.
589 * @return (String)handleGetDiscriminatorColumn()
590 */
591 public final String getDiscriminatorColumn()
592 {
593 String discriminatorColumn15a = this.__discriminatorColumn15a;
594 if (!this.__discriminatorColumn15aSet)
595 {
596 // discriminatorColumn has no pre constraints
597 discriminatorColumn15a = handleGetDiscriminatorColumn();
598 // discriminatorColumn has no post constraints
599 this.__discriminatorColumn15a = discriminatorColumn15a;
600 if (isMetafacadePropertyCachingEnabled())
601 {
602 this.__discriminatorColumn15aSet = true;
603 }
604 }
605 return discriminatorColumn15a;
606 }
607
608 /**
609 * @see EJB3EntityFacade#getDiscriminatorColumnDefinition()
610 * @return String
611 */
612 protected abstract String handleGetDiscriminatorColumnDefinition();
613
614 private String __discriminatorColumnDefinition16a;
615 private boolean __discriminatorColumnDefinition16aSet = false;
616
617 /**
618 * The SQL used when generating the DDL for the discriminator column.
619 * @return (String)handleGetDiscriminatorColumnDefinition()
620 */
621 public final String getDiscriminatorColumnDefinition()
622 {
623 String discriminatorColumnDefinition16a = this.__discriminatorColumnDefinition16a;
624 if (!this.__discriminatorColumnDefinition16aSet)
625 {
626 // discriminatorColumnDefinition has no pre constraints
627 discriminatorColumnDefinition16a = handleGetDiscriminatorColumnDefinition();
628 // discriminatorColumnDefinition has no post constraints
629 this.__discriminatorColumnDefinition16a = discriminatorColumnDefinition16a;
630 if (isMetafacadePropertyCachingEnabled())
631 {
632 this.__discriminatorColumnDefinition16aSet = true;
633 }
634 }
635 return discriminatorColumnDefinition16a;
636 }
637
638 /**
639 * @see EJB3EntityFacade#getDiscriminatorLength()
640 * @return int
641 */
642 protected abstract int handleGetDiscriminatorLength();
643
644 private int __discriminatorLength17a;
645 private boolean __discriminatorLength17aSet = false;
646
647 /**
648 * The standard length of a discriminator value. Default is 10.
649 * @return (int)handleGetDiscriminatorLength()
650 */
651 public final int getDiscriminatorLength()
652 {
653 int discriminatorLength17a = this.__discriminatorLength17a;
654 if (!this.__discriminatorLength17aSet)
655 {
656 // discriminatorLength has no pre constraints
657 discriminatorLength17a = handleGetDiscriminatorLength();
658 // discriminatorLength has no post constraints
659 this.__discriminatorLength17a = discriminatorLength17a;
660 if (isMetafacadePropertyCachingEnabled())
661 {
662 this.__discriminatorLength17aSet = true;
663 }
664 }
665 return discriminatorLength17a;
666 }
667
668 /**
669 * @see EJB3EntityFacade#getDiscriminatorType()
670 * @return String
671 */
672 protected abstract String handleGetDiscriminatorType();
673
674 private String __discriminatorType18a;
675 private boolean __discriminatorType18aSet = false;
676
677 /**
678 * The type of the entity discriminator column. Default is STRING.
679 * @return (String)handleGetDiscriminatorType()
680 */
681 public final String getDiscriminatorType()
682 {
683 String discriminatorType18a = this.__discriminatorType18a;
684 if (!this.__discriminatorType18aSet)
685 {
686 // discriminatorType has no pre constraints
687 discriminatorType18a = handleGetDiscriminatorType();
688 // discriminatorType has no post constraints
689 this.__discriminatorType18a = discriminatorType18a;
690 if (isMetafacadePropertyCachingEnabled())
691 {
692 this.__discriminatorType18aSet = true;
693 }
694 }
695 return discriminatorType18a;
696 }
697
698 /**
699 * @see EJB3EntityFacade#getDiscriminatorValue()
700 * @return String
701 */
702 protected abstract String handleGetDiscriminatorValue();
703
704 private String __discriminatorValue19a;
705 private boolean __discriminatorValue19aSet = false;
706
707 /**
708 * The value indicating the row in an entity of the annotated entity type.
709 * @return (String)handleGetDiscriminatorValue()
710 */
711 public final String getDiscriminatorValue()
712 {
713 String discriminatorValue19a = this.__discriminatorValue19a;
714 if (!this.__discriminatorValue19aSet)
715 {
716 // discriminatorValue has no pre constraints
717 discriminatorValue19a = handleGetDiscriminatorValue();
718 // discriminatorValue has no post constraints
719 this.__discriminatorValue19a = discriminatorValue19a;
720 if (isMetafacadePropertyCachingEnabled())
721 {
722 this.__discriminatorValue19aSet = true;
723 }
724 }
725 return discriminatorValue19a;
726 }
727
728 /**
729 * @see EJB3EntityFacade#isInheritanceSingleTable()
730 * @return boolean
731 */
732 protected abstract boolean handleIsInheritanceSingleTable();
733
734 private boolean __inheritanceSingleTable20a;
735 private boolean __inheritanceSingleTable20aSet = false;
736
737 /**
738 * Return true if the entity inheritance strategy as specified by the tagged value
739 * andromda_persistence_inheritance is defined as SINGLE_TABLE.
740 * @return (boolean)handleIsInheritanceSingleTable()
741 */
742 public final boolean isInheritanceSingleTable()
743 {
744 boolean inheritanceSingleTable20a = this.__inheritanceSingleTable20a;
745 if (!this.__inheritanceSingleTable20aSet)
746 {
747 // inheritanceSingleTable has no pre constraints
748 inheritanceSingleTable20a = handleIsInheritanceSingleTable();
749 // inheritanceSingleTable has no post constraints
750 this.__inheritanceSingleTable20a = inheritanceSingleTable20a;
751 if (isMetafacadePropertyCachingEnabled())
752 {
753 this.__inheritanceSingleTable20aSet = true;
754 }
755 }
756 return inheritanceSingleTable20a;
757 }
758
759 /**
760 * @see EJB3EntityFacade#getInheritanceStrategy()
761 * @return String
762 */
763 protected abstract String handleGetInheritanceStrategy();
764
765 private String __inheritanceStrategy21a;
766 private boolean __inheritanceStrategy21aSet = false;
767
768 /**
769 * Return the value of the andromda_persistence_inheritance tagged value which is an enumeration
770 * containing SINGLE_TABLE, TABLE_PER_CLASS or JOINED.
771 * @return (String)handleGetInheritanceStrategy()
772 */
773 public final String getInheritanceStrategy()
774 {
775 String inheritanceStrategy21a = this.__inheritanceStrategy21a;
776 if (!this.__inheritanceStrategy21aSet)
777 {
778 // inheritanceStrategy has no pre constraints
779 inheritanceStrategy21a = handleGetInheritanceStrategy();
780 // inheritanceStrategy has no post constraints
781 this.__inheritanceStrategy21a = inheritanceStrategy21a;
782 if (isMetafacadePropertyCachingEnabled())
783 {
784 this.__inheritanceStrategy21aSet = true;
785 }
786 }
787 return inheritanceStrategy21a;
788 }
789
790 /**
791 * @see EJB3EntityFacade#isInheritanceTablePerClass()
792 * @return boolean
793 */
794 protected abstract boolean handleIsInheritanceTablePerClass();
795
796 private boolean __inheritanceTablePerClass22a;
797 private boolean __inheritanceTablePerClass22aSet = false;
798
799 /**
800 * Return true if the entity inheritance strategy as specified by the tagged value
801 * andromda_persistence_inheritance is defined as TABLE_PER_CLASS.
802 * @return (boolean)handleIsInheritanceTablePerClass()
803 */
804 public final boolean isInheritanceTablePerClass()
805 {
806 boolean inheritanceTablePerClass22a = this.__inheritanceTablePerClass22a;
807 if (!this.__inheritanceTablePerClass22aSet)
808 {
809 // inheritanceTablePerClass has no pre constraints
810 inheritanceTablePerClass22a = handleIsInheritanceTablePerClass();
811 // inheritanceTablePerClass has no post constraints
812 this.__inheritanceTablePerClass22a = inheritanceTablePerClass22a;
813 if (isMetafacadePropertyCachingEnabled())
814 {
815 this.__inheritanceTablePerClass22aSet = true;
816 }
817 }
818 return inheritanceTablePerClass22a;
819 }
820
821 /**
822 * @see EJB3EntityFacade#isInheritanceJoined()
823 * @return boolean
824 */
825 protected abstract boolean handleIsInheritanceJoined();
826
827 private boolean __inheritanceJoined23a;
828 private boolean __inheritanceJoined23aSet = false;
829
830 /**
831 * Return true if the entity inheritance strategy as specified by the tagged value
832 * andromda_persistence_inheritance is defined as JOINED.
833 * @return (boolean)handleIsInheritanceJoined()
834 */
835 public final boolean isInheritanceJoined()
836 {
837 boolean inheritanceJoined23a = this.__inheritanceJoined23a;
838 if (!this.__inheritanceJoined23aSet)
839 {
840 // inheritanceJoined has no pre constraints
841 inheritanceJoined23a = handleIsInheritanceJoined();
842 // inheritanceJoined has no post constraints
843 this.__inheritanceJoined23a = inheritanceJoined23a;
844 if (isMetafacadePropertyCachingEnabled())
845 {
846 this.__inheritanceJoined23aSet = true;
847 }
848 }
849 return inheritanceJoined23a;
850 }
851
852 /**
853 * @see EJB3EntityFacade#isRequiresSpecializationMapping()
854 * @return boolean
855 */
856 protected abstract boolean handleIsRequiresSpecializationMapping();
857
858 private boolean __requiresSpecializationMapping24a;
859 private boolean __requiresSpecializationMapping24aSet = false;
860
861 /**
862 * Returns true if the entity requires specialization mapping. The Inheritance annotation is
863 * required for parent entities for all inheritance strategies.
864 * @return (boolean)handleIsRequiresSpecializationMapping()
865 */
866 public final boolean isRequiresSpecializationMapping()
867 {
868 boolean requiresSpecializationMapping24a = this.__requiresSpecializationMapping24a;
869 if (!this.__requiresSpecializationMapping24aSet)
870 {
871 // requiresSpecializationMapping has no pre constraints
872 requiresSpecializationMapping24a = handleIsRequiresSpecializationMapping();
873 // requiresSpecializationMapping has no post constraints
874 this.__requiresSpecializationMapping24a = requiresSpecializationMapping24a;
875 if (isMetafacadePropertyCachingEnabled())
876 {
877 this.__requiresSpecializationMapping24aSet = true;
878 }
879 }
880 return requiresSpecializationMapping24a;
881 }
882
883 /**
884 * @see EJB3EntityFacade#isRequiresGeneralizationMapping()
885 * @return boolean
886 */
887 protected abstract boolean handleIsRequiresGeneralizationMapping();
888
889 private boolean __requiresGeneralizationMapping25a;
890 private boolean __requiresGeneralizationMapping25aSet = false;
891
892 /**
893 * Returns true if the entity requires generalization mapping. The Inheritance annotation is
894 * required for child entities for all inheritance strategies.
895 * @return (boolean)handleIsRequiresGeneralizationMapping()
896 */
897 public final boolean isRequiresGeneralizationMapping()
898 {
899 boolean requiresGeneralizationMapping25a = this.__requiresGeneralizationMapping25a;
900 if (!this.__requiresGeneralizationMapping25aSet)
901 {
902 // requiresGeneralizationMapping has no pre constraints
903 requiresGeneralizationMapping25a = handleIsRequiresGeneralizationMapping();
904 // requiresGeneralizationMapping has no post constraints
905 this.__requiresGeneralizationMapping25a = requiresGeneralizationMapping25a;
906 if (isMetafacadePropertyCachingEnabled())
907 {
908 this.__requiresGeneralizationMapping25aSet = true;
909 }
910 }
911 return requiresGeneralizationMapping25a;
912 }
913
914 /**
915 * @see EJB3EntityFacade#getEntityImplementationName()
916 * @return String
917 */
918 protected abstract String handleGetEntityImplementationName();
919
920 private String __entityImplementationName26a;
921 private boolean __entityImplementationName26aSet = false;
922
923 /**
924 * The name of the implementation class.
925 * @return (String)handleGetEntityImplementationName()
926 */
927 public final String getEntityImplementationName()
928 {
929 String entityImplementationName26a = this.__entityImplementationName26a;
930 if (!this.__entityImplementationName26aSet)
931 {
932 // entityImplementationName has no pre constraints
933 entityImplementationName26a = handleGetEntityImplementationName();
934 // entityImplementationName has no post constraints
935 this.__entityImplementationName26a = entityImplementationName26a;
936 if (isMetafacadePropertyCachingEnabled())
937 {
938 this.__entityImplementationName26aSet = true;
939 }
940 }
941 return entityImplementationName26a;
942 }
943
944 /**
945 * @see EJB3EntityFacade#getFullyQualifiedEntityImplementationName()
946 * @return String
947 */
948 protected abstract String handleGetFullyQualifiedEntityImplementationName();
949
950 private String __fullyQualifiedEntityImplementationName27a;
951 private boolean __fullyQualifiedEntityImplementationName27aSet = false;
952
953 /**
954 * Fully qualified name of the Entity implementation class.
955 * @return (String)handleGetFullyQualifiedEntityImplementationName()
956 */
957 public final String getFullyQualifiedEntityImplementationName()
958 {
959 String fullyQualifiedEntityImplementationName27a = this.__fullyQualifiedEntityImplementationName27a;
960 if (!this.__fullyQualifiedEntityImplementationName27aSet)
961 {
962 // fullyQualifiedEntityImplementationName has no pre constraints
963 fullyQualifiedEntityImplementationName27a = handleGetFullyQualifiedEntityImplementationName();
964 // fullyQualifiedEntityImplementationName has no post constraints
965 this.__fullyQualifiedEntityImplementationName27a = fullyQualifiedEntityImplementationName27a;
966 if (isMetafacadePropertyCachingEnabled())
967 {
968 this.__fullyQualifiedEntityImplementationName27aSet = true;
969 }
970 }
971 return fullyQualifiedEntityImplementationName27a;
972 }
973
974 /**
975 * @see EJB3EntityFacade#getEntityName()
976 * @return String
977 */
978 protected abstract String handleGetEntityName();
979
980 private String __entityName28a;
981 private boolean __entityName28aSet = false;
982
983 /**
984 * The named used for the EJB3 entity.
985 * @return (String)handleGetEntityName()
986 */
987 public final String getEntityName()
988 {
989 String entityName28a = this.__entityName28a;
990 if (!this.__entityName28aSet)
991 {
992 // entityName has no pre constraints
993 entityName28a = handleGetEntityName();
994 // entityName has no post constraints
995 this.__entityName28a = entityName28a;
996 if (isMetafacadePropertyCachingEnabled())
997 {
998 this.__entityName28aSet = true;
999 }
1000 }
1001 return entityName28a;
1002 }
1003
1004 /**
1005 * @see EJB3EntityFacade#getFullyQualifiedEntityName()
1006 * @return String
1007 */
1008 protected abstract String handleGetFullyQualifiedEntityName();
1009
1010 private String __fullyQualifiedEntityName29a;
1011 private boolean __fullyQualifiedEntityName29aSet = false;
1012
1013 /**
1014 * The fully qualified name of the EJB3 entity.
1015 * @return (String)handleGetFullyQualifiedEntityName()
1016 */
1017 public final String getFullyQualifiedEntityName()
1018 {
1019 String fullyQualifiedEntityName29a = this.__fullyQualifiedEntityName29a;
1020 if (!this.__fullyQualifiedEntityName29aSet)
1021 {
1022 // fullyQualifiedEntityName has no pre constraints
1023 fullyQualifiedEntityName29a = handleGetFullyQualifiedEntityName();
1024 // fullyQualifiedEntityName has no post constraints
1025 this.__fullyQualifiedEntityName29a = fullyQualifiedEntityName29a;
1026 if (isMetafacadePropertyCachingEnabled())
1027 {
1028 this.__fullyQualifiedEntityName29aSet = true;
1029 }
1030 }
1031 return fullyQualifiedEntityName29a;
1032 }
1033
1034 /**
1035 * @see EJB3EntityFacade#isEmbeddableSuperclass()
1036 * @return boolean
1037 */
1038 protected abstract boolean handleIsEmbeddableSuperclass();
1039
1040 private boolean __embeddableSuperclass30a;
1041 private boolean __embeddableSuperclass30aSet = false;
1042
1043 /**
1044 * Determines if this entity is an mapped/embeddable super class.
1045 * @return (boolean)handleIsEmbeddableSuperclass()
1046 */
1047 public final boolean isEmbeddableSuperclass()
1048 {
1049 boolean embeddableSuperclass30a = this.__embeddableSuperclass30a;
1050 if (!this.__embeddableSuperclass30aSet)
1051 {
1052 // embeddableSuperclass has no pre constraints
1053 embeddableSuperclass30a = handleIsEmbeddableSuperclass();
1054 // embeddableSuperclass has no post constraints
1055 this.__embeddableSuperclass30a = embeddableSuperclass30a;
1056 if (isMetafacadePropertyCachingEnabled())
1057 {
1058 this.__embeddableSuperclass30aSet = true;
1059 }
1060 }
1061 return embeddableSuperclass30a;
1062 }
1063
1064 /**
1065 * @see EJB3EntityFacade#isGenericFinders()
1066 * @return boolean
1067 */
1068 protected abstract boolean handleIsGenericFinders();
1069
1070 private boolean __genericFinders31a;
1071 private boolean __genericFinders31aSet = false;
1072
1073 /**
1074 * Returns true if the generic finder property is true. This will create generic finder static
1075 * methods in the entity POJO like findByPrimaryKey and findAll.
1076 * @return (boolean)handleIsGenericFinders()
1077 */
1078 public final boolean isGenericFinders()
1079 {
1080 boolean genericFinders31a = this.__genericFinders31a;
1081 if (!this.__genericFinders31aSet)
1082 {
1083 // genericFinders has no pre constraints
1084 genericFinders31a = handleIsGenericFinders();
1085 // genericFinders has no post constraints
1086 this.__genericFinders31a = genericFinders31a;
1087 if (isMetafacadePropertyCachingEnabled())
1088 {
1089 this.__genericFinders31aSet = true;
1090 }
1091 }
1092 return genericFinders31a;
1093 }
1094
1095 /**
1096 * @see EJB3EntityFacade#isCompositePrimaryKeyPresent()
1097 * @return boolean
1098 */
1099 protected abstract boolean handleIsCompositePrimaryKeyPresent();
1100
1101 private boolean __compositePrimaryKeyPresent32a;
1102 private boolean __compositePrimaryKeyPresent32aSet = false;
1103
1104 /**
1105 * Returns true if a composite primary key exists for this entity bean. A composite primary key
1106 * consists of 2 or more entity identifiers.
1107 * @return (boolean)handleIsCompositePrimaryKeyPresent()
1108 */
1109 public final boolean isCompositePrimaryKeyPresent()
1110 {
1111 boolean compositePrimaryKeyPresent32a = this.__compositePrimaryKeyPresent32a;
1112 if (!this.__compositePrimaryKeyPresent32aSet)
1113 {
1114 // compositePrimaryKeyPresent has no pre constraints
1115 compositePrimaryKeyPresent32a = handleIsCompositePrimaryKeyPresent();
1116 // compositePrimaryKeyPresent has no post constraints
1117 this.__compositePrimaryKeyPresent32a = compositePrimaryKeyPresent32a;
1118 if (isMetafacadePropertyCachingEnabled())
1119 {
1120 this.__compositePrimaryKeyPresent32aSet = true;
1121 }
1122 }
1123 return compositePrimaryKeyPresent32a;
1124 }
1125
1126 /**
1127 * @see EJB3EntityFacade#getFullyQualifiedEntityCompositePrimaryKeyName()
1128 * @return String
1129 */
1130 protected abstract String handleGetFullyQualifiedEntityCompositePrimaryKeyName();
1131
1132 private String __fullyQualifiedEntityCompositePrimaryKeyName33a;
1133 private boolean __fullyQualifiedEntityCompositePrimaryKeyName33aSet = false;
1134
1135 /**
1136 * The fully qualified name of the composite primary key class of this entity.
1137 * @return (String)handleGetFullyQualifiedEntityCompositePrimaryKeyName()
1138 */
1139 public final String getFullyQualifiedEntityCompositePrimaryKeyName()
1140 {
1141 String fullyQualifiedEntityCompositePrimaryKeyName33a = this.__fullyQualifiedEntityCompositePrimaryKeyName33a;
1142 if (!this.__fullyQualifiedEntityCompositePrimaryKeyName33aSet)
1143 {
1144 // fullyQualifiedEntityCompositePrimaryKeyName has no pre constraints
1145 fullyQualifiedEntityCompositePrimaryKeyName33a = handleGetFullyQualifiedEntityCompositePrimaryKeyName();
1146 // fullyQualifiedEntityCompositePrimaryKeyName has no post constraints
1147 this.__fullyQualifiedEntityCompositePrimaryKeyName33a = fullyQualifiedEntityCompositePrimaryKeyName33a;
1148 if (isMetafacadePropertyCachingEnabled())
1149 {
1150 this.__fullyQualifiedEntityCompositePrimaryKeyName33aSet = true;
1151 }
1152 }
1153 return fullyQualifiedEntityCompositePrimaryKeyName33a;
1154 }
1155
1156 /**
1157 * @see EJB3EntityFacade#getEntityCompositePrimaryKeyName()
1158 * @return String
1159 */
1160 protected abstract String handleGetEntityCompositePrimaryKeyName();
1161
1162 private String __entityCompositePrimaryKeyName34a;
1163 private boolean __entityCompositePrimaryKeyName34aSet = false;
1164
1165 /**
1166 * Entity composite primary key class name for this entity.
1167 * @return (String)handleGetEntityCompositePrimaryKeyName()
1168 */
1169 public final String getEntityCompositePrimaryKeyName()
1170 {
1171 String entityCompositePrimaryKeyName34a = this.__entityCompositePrimaryKeyName34a;
1172 if (!this.__entityCompositePrimaryKeyName34aSet)
1173 {
1174 // entityCompositePrimaryKeyName has no pre constraints
1175 entityCompositePrimaryKeyName34a = handleGetEntityCompositePrimaryKeyName();
1176 // entityCompositePrimaryKeyName has no post constraints
1177 this.__entityCompositePrimaryKeyName34a = entityCompositePrimaryKeyName34a;
1178 if (isMetafacadePropertyCachingEnabled())
1179 {
1180 this.__entityCompositePrimaryKeyName34aSet = true;
1181 }
1182 }
1183 return entityCompositePrimaryKeyName34a;
1184 }
1185
1186 /**
1187 * @see EJB3EntityFacade#isEmbeddableSuperclassGeneralizationExists()
1188 * @return boolean
1189 */
1190 protected abstract boolean handleIsEmbeddableSuperclassGeneralizationExists();
1191
1192 private boolean __embeddableSuperclassGeneralizationExists35a;
1193 private boolean __embeddableSuperclassGeneralizationExists35aSet = false;
1194
1195 /**
1196 * Returns true if this entity is a subclass of an mapped/embeddable super class. You cannot
1197 * have more than 1 level of inheritance using mapped/embeddable super class. To achieve
1198 * multiple levels, use one of the inheritance mapping strategies like single table, table per
1199 * class or joined table strategies.
1200 * @return (boolean)handleIsEmbeddableSuperclassGeneralizationExists()
1201 */
1202 public final boolean isEmbeddableSuperclassGeneralizationExists()
1203 {
1204 boolean embeddableSuperclassGeneralizationExists35a = this.__embeddableSuperclassGeneralizationExists35a;
1205 if (!this.__embeddableSuperclassGeneralizationExists35aSet)
1206 {
1207 // embeddableSuperclassGeneralizationExists has no pre constraints
1208 embeddableSuperclassGeneralizationExists35a = handleIsEmbeddableSuperclassGeneralizationExists();
1209 // embeddableSuperclassGeneralizationExists has no post constraints
1210 this.__embeddableSuperclassGeneralizationExists35a = embeddableSuperclassGeneralizationExists35a;
1211 if (isMetafacadePropertyCachingEnabled())
1212 {
1213 this.__embeddableSuperclassGeneralizationExists35aSet = true;
1214 }
1215 }
1216 return embeddableSuperclassGeneralizationExists35a;
1217 }
1218
1219 /**
1220 * @see EJB3EntityFacade#isListenerEnabled()
1221 * @return boolean
1222 */
1223 protected abstract boolean handleIsListenerEnabled();
1224
1225 private boolean __listenerEnabled36a;
1226 private boolean __listenerEnabled36aSet = false;
1227
1228 /**
1229 * Returns true if this entity bean has the stereotype Listener. False otherwise.
1230 * @return (boolean)handleIsListenerEnabled()
1231 */
1232 public final boolean isListenerEnabled()
1233 {
1234 boolean listenerEnabled36a = this.__listenerEnabled36a;
1235 if (!this.__listenerEnabled36aSet)
1236 {
1237 // listenerEnabled has no pre constraints
1238 listenerEnabled36a = handleIsListenerEnabled();
1239 // listenerEnabled has no post constraints
1240 this.__listenerEnabled36a = listenerEnabled36a;
1241 if (isMetafacadePropertyCachingEnabled())
1242 {
1243 this.__listenerEnabled36aSet = true;
1244 }
1245 }
1246 return listenerEnabled36a;
1247 }
1248
1249 /**
1250 * @see EJB3EntityFacade#isFinderFindAllExists()
1251 * @return boolean
1252 */
1253 protected abstract boolean handleIsFinderFindAllExists();
1254
1255 private boolean __finderFindAllExists37a;
1256 private boolean __finderFindAllExists37aSet = false;
1257
1258 /**
1259 * Returns true if the findAll finder method (specified as a query method) has been modelled.
1260 * @return (boolean)handleIsFinderFindAllExists()
1261 */
1262 public final boolean isFinderFindAllExists()
1263 {
1264 boolean finderFindAllExists37a = this.__finderFindAllExists37a;
1265 if (!this.__finderFindAllExists37aSet)
1266 {
1267 // finderFindAllExists has no pre constraints
1268 finderFindAllExists37a = handleIsFinderFindAllExists();
1269 // finderFindAllExists has no post constraints
1270 this.__finderFindAllExists37a = finderFindAllExists37a;
1271 if (isMetafacadePropertyCachingEnabled())
1272 {
1273 this.__finderFindAllExists37aSet = true;
1274 }
1275 }
1276 return finderFindAllExists37a;
1277 }
1278
1279 /**
1280 * @see EJB3EntityFacade#isFinderFindByPrimaryKeyExists()
1281 * @return boolean
1282 */
1283 protected abstract boolean handleIsFinderFindByPrimaryKeyExists();
1284
1285 private boolean __finderFindByPrimaryKeyExists38a;
1286 private boolean __finderFindByPrimaryKeyExists38aSet = false;
1287
1288 /**
1289 * Returns true if the finder findByPrimaryKey has been modelled.
1290 * @return (boolean)handleIsFinderFindByPrimaryKeyExists()
1291 */
1292 public final boolean isFinderFindByPrimaryKeyExists()
1293 {
1294 boolean finderFindByPrimaryKeyExists38a = this.__finderFindByPrimaryKeyExists38a;
1295 if (!this.__finderFindByPrimaryKeyExists38aSet)
1296 {
1297 // finderFindByPrimaryKeyExists has no pre constraints
1298 finderFindByPrimaryKeyExists38a = handleIsFinderFindByPrimaryKeyExists();
1299 // finderFindByPrimaryKeyExists has no post constraints
1300 this.__finderFindByPrimaryKeyExists38a = finderFindByPrimaryKeyExists38a;
1301 if (isMetafacadePropertyCachingEnabled())
1302 {
1303 this.__finderFindByPrimaryKeyExists38aSet = true;
1304 }
1305 }
1306 return finderFindByPrimaryKeyExists38a;
1307 }
1308
1309 /**
1310 * @see EJB3EntityFacade#isManageable()
1311 * @return boolean
1312 */
1313 protected abstract boolean handleIsManageable();
1314
1315 private boolean __manageable39a;
1316 private boolean __manageable39aSet = false;
1317
1318 /**
1319 * Returns true if this entity is assigned the Manageable stereotype. False otherwise.
1320 * @return (boolean)handleIsManageable()
1321 */
1322 public final boolean isManageable()
1323 {
1324 boolean manageable39a = this.__manageable39a;
1325 if (!this.__manageable39aSet)
1326 {
1327 // manageable has no pre constraints
1328 manageable39a = handleIsManageable();
1329 // manageable has no post constraints
1330 this.__manageable39a = manageable39a;
1331 if (isMetafacadePropertyCachingEnabled())
1332 {
1333 this.__manageable39aSet = true;
1334 }
1335 }
1336 return manageable39a;
1337 }
1338
1339 /**
1340 * @see EJB3EntityFacade#getCacheType()
1341 * @return String
1342 */
1343 protected abstract String handleGetCacheType();
1344
1345 private String __cacheType40a;
1346 private boolean __cacheType40aSet = false;
1347
1348 /**
1349 * Provides the cache policy for the entity.
1350 * Posible values are NONE, READ_WRITE, NONSTRICT_READ_WRITE, READ_ONLY, TRANSACTIONAL.
1351 * @return (String)handleGetCacheType()
1352 */
1353 public final String getCacheType()
1354 {
1355 String cacheType40a = this.__cacheType40a;
1356 if (!this.__cacheType40aSet)
1357 {
1358 // cacheType has no pre constraints
1359 cacheType40a = handleGetCacheType();
1360 // cacheType has no post constraints
1361 this.__cacheType40a = cacheType40a;
1362 if (isMetafacadePropertyCachingEnabled())
1363 {
1364 this.__cacheType40aSet = true;
1365 }
1366 }
1367 return cacheType40a;
1368 }
1369
1370 /**
1371 * @see EJB3EntityFacade#isCacheEnabled()
1372 * @return boolean
1373 */
1374 protected abstract boolean handleIsCacheEnabled();
1375
1376 private boolean __cacheEnabled41a;
1377 private boolean __cacheEnabled41aSet = false;
1378
1379 /**
1380 * Returns true if caching has been enabled via namespace property hibernateEnableCache.
1381 * @return (boolean)handleIsCacheEnabled()
1382 */
1383 public final boolean isCacheEnabled()
1384 {
1385 boolean cacheEnabled41a = this.__cacheEnabled41a;
1386 if (!this.__cacheEnabled41aSet)
1387 {
1388 // cacheEnabled has no pre constraints
1389 cacheEnabled41a = handleIsCacheEnabled();
1390 // cacheEnabled has no post constraints
1391 this.__cacheEnabled41a = cacheEnabled41a;
1392 if (isMetafacadePropertyCachingEnabled())
1393 {
1394 this.__cacheEnabled41aSet = true;
1395 }
1396 }
1397 return cacheEnabled41a;
1398 }
1399
1400 /**
1401 * @see EJB3EntityFacade#isUseDefaultCacheRegion()
1402 * @return boolean
1403 */
1404 protected abstract boolean handleIsUseDefaultCacheRegion();
1405
1406 private boolean __useDefaultCacheRegion42a;
1407 private boolean __useDefaultCacheRegion42aSet = false;
1408
1409 /**
1410 * Return true if a unique cache region is NOT required for entities and queries. This means we
1411 * use the default cache region specified by the container. Specified via the
1412 * useDefaultCacheRegion namepsace property.
1413 * @return (boolean)handleIsUseDefaultCacheRegion()
1414 */
1415 public final boolean isUseDefaultCacheRegion()
1416 {
1417 boolean useDefaultCacheRegion42a = this.__useDefaultCacheRegion42a;
1418 if (!this.__useDefaultCacheRegion42aSet)
1419 {
1420 // useDefaultCacheRegion has no pre constraints
1421 useDefaultCacheRegion42a = handleIsUseDefaultCacheRegion();
1422 // useDefaultCacheRegion has no post constraints
1423 this.__useDefaultCacheRegion42a = useDefaultCacheRegion42a;
1424 if (isMetafacadePropertyCachingEnabled())
1425 {
1426 this.__useDefaultCacheRegion42aSet = true;
1427 }
1428 }
1429 return useDefaultCacheRegion42a;
1430 }
1431
1432 /**
1433 * @see EJB3EntityFacade#getDaoName()
1434 * @return String
1435 */
1436 protected abstract String handleGetDaoName();
1437
1438 private String __daoName43a;
1439 private boolean __daoName43aSet = false;
1440
1441 /**
1442 * The name of the DAO for the specified entity.
1443 * @return (String)handleGetDaoName()
1444 */
1445 public final String getDaoName()
1446 {
1447 String daoName43a = this.__daoName43a;
1448 if (!this.__daoName43aSet)
1449 {
1450 // daoName has no pre constraints
1451 daoName43a = handleGetDaoName();
1452 // daoName has no post constraints
1453 this.__daoName43a = daoName43a;
1454 if (isMetafacadePropertyCachingEnabled())
1455 {
1456 this.__daoName43aSet = true;
1457 }
1458 }
1459 return daoName43a;
1460 }
1461
1462 /**
1463 * @see EJB3EntityFacade#getFullyQualifiedDaoName()
1464 * @return String
1465 */
1466 protected abstract String handleGetFullyQualifiedDaoName();
1467
1468 private String __fullyQualifiedDaoName44a;
1469 private boolean __fullyQualifiedDaoName44aSet = false;
1470
1471 /**
1472 * The fully qualified name of the DAO.
1473 * @return (String)handleGetFullyQualifiedDaoName()
1474 */
1475 public final String getFullyQualifiedDaoName()
1476 {
1477 String fullyQualifiedDaoName44a = this.__fullyQualifiedDaoName44a;
1478 if (!this.__fullyQualifiedDaoName44aSet)
1479 {
1480 // fullyQualifiedDaoName has no pre constraints
1481 fullyQualifiedDaoName44a = handleGetFullyQualifiedDaoName();
1482 // fullyQualifiedDaoName has no post constraints
1483 this.__fullyQualifiedDaoName44a = fullyQualifiedDaoName44a;
1484 if (isMetafacadePropertyCachingEnabled())
1485 {
1486 this.__fullyQualifiedDaoName44aSet = true;
1487 }
1488 }
1489 return fullyQualifiedDaoName44a;
1490 }
1491
1492 /**
1493 * @see EJB3EntityFacade#getDaoImplementationName()
1494 * @return String
1495 */
1496 protected abstract String handleGetDaoImplementationName();
1497
1498 private String __daoImplementationName45a;
1499 private boolean __daoImplementationName45aSet = false;
1500
1501 /**
1502 * The DAO implementation class name.
1503 * @return (String)handleGetDaoImplementationName()
1504 */
1505 public final String getDaoImplementationName()
1506 {
1507 String daoImplementationName45a = this.__daoImplementationName45a;
1508 if (!this.__daoImplementationName45aSet)
1509 {
1510 // daoImplementationName has no pre constraints
1511 daoImplementationName45a = handleGetDaoImplementationName();
1512 // daoImplementationName has no post constraints
1513 this.__daoImplementationName45a = daoImplementationName45a;
1514 if (isMetafacadePropertyCachingEnabled())
1515 {
1516 this.__daoImplementationName45aSet = true;
1517 }
1518 }
1519 return daoImplementationName45a;
1520 }
1521
1522 /**
1523 * @see EJB3EntityFacade#getFullyQualifiedDaoImplementationName()
1524 * @return String
1525 */
1526 protected abstract String handleGetFullyQualifiedDaoImplementationName();
1527
1528 private String __fullyQualifiedDaoImplementationName46a;
1529 private boolean __fullyQualifiedDaoImplementationName46aSet = false;
1530
1531 /**
1532 * The fully qualified name of the DAO implemetation.
1533 * @return (String)handleGetFullyQualifiedDaoImplementationName()
1534 */
1535 public final String getFullyQualifiedDaoImplementationName()
1536 {
1537 String fullyQualifiedDaoImplementationName46a = this.__fullyQualifiedDaoImplementationName46a;
1538 if (!this.__fullyQualifiedDaoImplementationName46aSet)
1539 {
1540 // fullyQualifiedDaoImplementationName has no pre constraints
1541 fullyQualifiedDaoImplementationName46a = handleGetFullyQualifiedDaoImplementationName();
1542 // fullyQualifiedDaoImplementationName has no post constraints
1543 this.__fullyQualifiedDaoImplementationName46a = fullyQualifiedDaoImplementationName46a;
1544 if (isMetafacadePropertyCachingEnabled())
1545 {
1546 this.__fullyQualifiedDaoImplementationName46aSet = true;
1547 }
1548 }
1549 return fullyQualifiedDaoImplementationName46a;
1550 }
1551
1552 /**
1553 * @see EJB3EntityFacade#getDaoBaseName()
1554 * @return String
1555 */
1556 protected abstract String handleGetDaoBaseName();
1557
1558 private String __daoBaseName47a;
1559 private boolean __daoBaseName47aSet = false;
1560
1561 /**
1562 * The DAO base class name. This is the abstract DAO that containsCRUD operations as well as
1563 * any generated finders defined on an entity.
1564 * @return (String)handleGetDaoBaseName()
1565 */
1566 public final String getDaoBaseName()
1567 {
1568 String daoBaseName47a = this.__daoBaseName47a;
1569 if (!this.__daoBaseName47aSet)
1570 {
1571 // daoBaseName has no pre constraints
1572 daoBaseName47a = handleGetDaoBaseName();
1573 // daoBaseName has no post constraints
1574 this.__daoBaseName47a = daoBaseName47a;
1575 if (isMetafacadePropertyCachingEnabled())
1576 {
1577 this.__daoBaseName47aSet = true;
1578 }
1579 }
1580 return daoBaseName47a;
1581 }
1582
1583 /**
1584 * @see EJB3EntityFacade#getFullyQualifiedDaoBaseName()
1585 * @return String
1586 */
1587 protected abstract String handleGetFullyQualifiedDaoBaseName();
1588
1589 private String __fullyQualifiedDaoBaseName48a;
1590 private boolean __fullyQualifiedDaoBaseName48aSet = false;
1591
1592 /**
1593 * The fully qualified name of the base DAO.
1594 * @return (String)handleGetFullyQualifiedDaoBaseName()
1595 */
1596 public final String getFullyQualifiedDaoBaseName()
1597 {
1598 String fullyQualifiedDaoBaseName48a = this.__fullyQualifiedDaoBaseName48a;
1599 if (!this.__fullyQualifiedDaoBaseName48aSet)
1600 {
1601 // fullyQualifiedDaoBaseName has no pre constraints
1602 fullyQualifiedDaoBaseName48a = handleGetFullyQualifiedDaoBaseName();
1603 // fullyQualifiedDaoBaseName has no post constraints
1604 this.__fullyQualifiedDaoBaseName48a = fullyQualifiedDaoBaseName48a;
1605 if (isMetafacadePropertyCachingEnabled())
1606 {
1607 this.__fullyQualifiedDaoBaseName48aSet = true;
1608 }
1609 }
1610 return fullyQualifiedDaoBaseName48a;
1611 }
1612
1613 /**
1614 * @see EJB3EntityFacade#isDaoBusinessOperationsPresent()
1615 * @return boolean
1616 */
1617 protected abstract boolean handleIsDaoBusinessOperationsPresent();
1618
1619 private boolean __daoBusinessOperationsPresent49a;
1620 private boolean __daoBusinessOperationsPresent49aSet = false;
1621
1622 /**
1623 * Indicates whether or not any business DAO operations are present.
1624 * @return (boolean)handleIsDaoBusinessOperationsPresent()
1625 */
1626 public final boolean isDaoBusinessOperationsPresent()
1627 {
1628 boolean daoBusinessOperationsPresent49a = this.__daoBusinessOperationsPresent49a;
1629 if (!this.__daoBusinessOperationsPresent49aSet)
1630 {
1631 // daoBusinessOperationsPresent has no pre constraints
1632 daoBusinessOperationsPresent49a = handleIsDaoBusinessOperationsPresent();
1633 // daoBusinessOperationsPresent has no post constraints
1634 this.__daoBusinessOperationsPresent49a = daoBusinessOperationsPresent49a;
1635 if (isMetafacadePropertyCachingEnabled())
1636 {
1637 this.__daoBusinessOperationsPresent49aSet = true;
1638 }
1639 }
1640 return daoBusinessOperationsPresent49a;
1641 }
1642
1643 /**
1644 * @see EJB3EntityFacade#isDaoImplementationRequired()
1645 * @return boolean
1646 */
1647 protected abstract boolean handleIsDaoImplementationRequired();
1648
1649 private boolean __daoImplementationRequired50a;
1650 private boolean __daoImplementationRequired50aSet = false;
1651
1652 /**
1653 * True if an implementation is required for the dao class, this is the case when there are
1654 * business operations or value-object transformation.
1655 * @return (boolean)handleIsDaoImplementationRequired()
1656 */
1657 public final boolean isDaoImplementationRequired()
1658 {
1659 boolean daoImplementationRequired50a = this.__daoImplementationRequired50a;
1660 if (!this.__daoImplementationRequired50aSet)
1661 {
1662 // daoImplementationRequired has no pre constraints
1663 daoImplementationRequired50a = handleIsDaoImplementationRequired();
1664 // daoImplementationRequired has no post constraints
1665 this.__daoImplementationRequired50a = daoImplementationRequired50a;
1666 if (isMetafacadePropertyCachingEnabled())
1667 {
1668 this.__daoImplementationRequired50aSet = true;
1669 }
1670 }
1671 return daoImplementationRequired50a;
1672 }
1673
1674 /**
1675 * @see EJB3EntityFacade#getDaoNoTransformationConstantName()
1676 * @return String
1677 */
1678 protected abstract String handleGetDaoNoTransformationConstantName();
1679
1680 private String __daoNoTransformationConstantName51a;
1681 private boolean __daoNoTransformationConstantName51aSet = false;
1682
1683 /**
1684 * The constant name denoting no transformation is to be applied.
1685 * @return (String)handleGetDaoNoTransformationConstantName()
1686 */
1687 public final String getDaoNoTransformationConstantName()
1688 {
1689 String daoNoTransformationConstantName51a = this.__daoNoTransformationConstantName51a;
1690 if (!this.__daoNoTransformationConstantName51aSet)
1691 {
1692 // daoNoTransformationConstantName has no pre constraints
1693 daoNoTransformationConstantName51a = handleGetDaoNoTransformationConstantName();
1694 // daoNoTransformationConstantName has no post constraints
1695 this.__daoNoTransformationConstantName51a = daoNoTransformationConstantName51a;
1696 if (isMetafacadePropertyCachingEnabled())
1697 {
1698 this.__daoNoTransformationConstantName51aSet = true;
1699 }
1700 }
1701 return daoNoTransformationConstantName51a;
1702 }
1703
1704 /**
1705 * @see EJB3EntityFacade#getDefaultPersistenceContextUnitName()
1706 * @return String
1707 */
1708 protected abstract String handleGetDefaultPersistenceContextUnitName();
1709
1710 private String __defaultPersistenceContextUnitName52a;
1711 private boolean __defaultPersistenceContextUnitName52aSet = false;
1712
1713 /**
1714 * Returns the default persistence context unit name for the injected EntityManger for the
1715 * DAO/Manageable service beans. It is derived from the persistenceContextUnitName namespace
1716 * property.
1717 * @return (String)handleGetDefaultPersistenceContextUnitName()
1718 */
1719 public final String getDefaultPersistenceContextUnitName()
1720 {
1721 String defaultPersistenceContextUnitName52a = this.__defaultPersistenceContextUnitName52a;
1722 if (!this.__defaultPersistenceContextUnitName52aSet)
1723 {
1724 // defaultPersistenceContextUnitName has no pre constraints
1725 defaultPersistenceContextUnitName52a = handleGetDefaultPersistenceContextUnitName();
1726 // defaultPersistenceContextUnitName has no post constraints
1727 this.__defaultPersistenceContextUnitName52a = defaultPersistenceContextUnitName52a;
1728 if (isMetafacadePropertyCachingEnabled())
1729 {
1730 this.__defaultPersistenceContextUnitName52aSet = true;
1731 }
1732 }
1733 return defaultPersistenceContextUnitName52a;
1734 }
1735
1736 /**
1737 * @see EJB3EntityFacade#getDaoDefaultExceptionName()
1738 * @return String
1739 */
1740 protected abstract String handleGetDaoDefaultExceptionName();
1741
1742 private String __daoDefaultExceptionName53a;
1743 private boolean __daoDefaultExceptionName53aSet = false;
1744
1745 /**
1746 * Returns the default DAO exception name.
1747 * @return (String)handleGetDaoDefaultExceptionName()
1748 */
1749 public final String getDaoDefaultExceptionName()
1750 {
1751 String daoDefaultExceptionName53a = this.__daoDefaultExceptionName53a;
1752 if (!this.__daoDefaultExceptionName53aSet)
1753 {
1754 // daoDefaultExceptionName has no pre constraints
1755 daoDefaultExceptionName53a = handleGetDaoDefaultExceptionName();
1756 // daoDefaultExceptionName has no post constraints
1757 this.__daoDefaultExceptionName53a = daoDefaultExceptionName53a;
1758 if (isMetafacadePropertyCachingEnabled())
1759 {
1760 this.__daoDefaultExceptionName53aSet = true;
1761 }
1762 }
1763 return daoDefaultExceptionName53a;
1764 }
1765
1766 /**
1767 * @see EJB3EntityFacade#getFullyQualifiedDaoDefaultExceptionName()
1768 * @return String
1769 */
1770 protected abstract String handleGetFullyQualifiedDaoDefaultExceptionName();
1771
1772 private String __fullyQualifiedDaoDefaultExceptionName54a;
1773 private boolean __fullyQualifiedDaoDefaultExceptionName54aSet = false;
1774
1775 /**
1776 * Returns the fully qualified default DAO exception name.
1777 * @return (String)handleGetFullyQualifiedDaoDefaultExceptionName()
1778 */
1779 public final String getFullyQualifiedDaoDefaultExceptionName()
1780 {
1781 String fullyQualifiedDaoDefaultExceptionName54a = this.__fullyQualifiedDaoDefaultExceptionName54a;
1782 if (!this.__fullyQualifiedDaoDefaultExceptionName54aSet)
1783 {
1784 // fullyQualifiedDaoDefaultExceptionName has no pre constraints
1785 fullyQualifiedDaoDefaultExceptionName54a = handleGetFullyQualifiedDaoDefaultExceptionName();
1786 // fullyQualifiedDaoDefaultExceptionName has no post constraints
1787 this.__fullyQualifiedDaoDefaultExceptionName54a = fullyQualifiedDaoDefaultExceptionName54a;
1788 if (isMetafacadePropertyCachingEnabled())
1789 {
1790 this.__fullyQualifiedDaoDefaultExceptionName54aSet = true;
1791 }
1792 }
1793 return fullyQualifiedDaoDefaultExceptionName54a;
1794 }
1795
1796 /**
1797 * @see EJB3EntityFacade#isEntityImplementationRequired()
1798 * @return boolean
1799 */
1800 protected abstract boolean handleIsEntityImplementationRequired();
1801
1802 private boolean __entityImplementationRequired55a;
1803 private boolean __entityImplementationRequired55aSet = false;
1804
1805 /**
1806 * True if an entity implementation is required for the entity class, this is the case when
1807 * there are business operations.
1808 * @return (boolean)handleIsEntityImplementationRequired()
1809 */
1810 public final boolean isEntityImplementationRequired()
1811 {
1812 boolean entityImplementationRequired55a = this.__entityImplementationRequired55a;
1813 if (!this.__entityImplementationRequired55aSet)
1814 {
1815 // entityImplementationRequired has no pre constraints
1816 entityImplementationRequired55a = handleIsEntityImplementationRequired();
1817 // entityImplementationRequired has no post constraints
1818 this.__entityImplementationRequired55a = entityImplementationRequired55a;
1819 if (isMetafacadePropertyCachingEnabled())
1820 {
1821 this.__entityImplementationRequired55aSet = true;
1822 }
1823 }
1824 return entityImplementationRequired55a;
1825 }
1826
1827 /**
1828 * @see EJB3EntityFacade#isSecurityEnabled()
1829 * @return boolean
1830 */
1831 protected abstract boolean handleIsSecurityEnabled();
1832
1833 private boolean __securityEnabled56a;
1834 private boolean __securityEnabled56aSet = false;
1835
1836 /**
1837 * Returns true if the security realm is specified. This will generate the security setting for
1838 * the DAO components.
1839 * @return (boolean)handleIsSecurityEnabled()
1840 */
1841 public final boolean isSecurityEnabled()
1842 {
1843 boolean securityEnabled56a = this.__securityEnabled56a;
1844 if (!this.__securityEnabled56aSet)
1845 {
1846 // securityEnabled has no pre constraints
1847 securityEnabled56a = handleIsSecurityEnabled();
1848 // securityEnabled has no post constraints
1849 this.__securityEnabled56a = securityEnabled56a;
1850 if (isMetafacadePropertyCachingEnabled())
1851 {
1852 this.__securityEnabled56aSet = true;
1853 }
1854 }
1855 return securityEnabled56a;
1856 }
1857
1858 /**
1859 * @see EJB3EntityFacade#getRolesAllowed()
1860 * @return String
1861 */
1862 protected abstract String handleGetRolesAllowed();
1863
1864 private String __rolesAllowed57a;
1865 private boolean __rolesAllowed57aSet = false;
1866
1867 /**
1868 * Returns the comma separated list of roles allowd to execute DAO operations. This is defined
1869 * by actor dependencies on the entity.
1870 * @return (String)handleGetRolesAllowed()
1871 */
1872 public final String getRolesAllowed()
1873 {
1874 String rolesAllowed57a = this.__rolesAllowed57a;
1875 if (!this.__rolesAllowed57aSet)
1876 {
1877 // rolesAllowed has no pre constraints
1878 rolesAllowed57a = handleGetRolesAllowed();
1879 // rolesAllowed has no post constraints
1880 this.__rolesAllowed57a = rolesAllowed57a;
1881 if (isMetafacadePropertyCachingEnabled())
1882 {
1883 this.__rolesAllowed57aSet = true;
1884 }
1885 }
1886 return rolesAllowed57a;
1887 }
1888
1889 /**
1890 * @see EJB3EntityFacade#getSecurityRealm()
1891 * @return String
1892 */
1893 protected abstract String handleGetSecurityRealm();
1894
1895 private String __securityRealm58a;
1896 private boolean __securityRealm58aSet = false;
1897
1898 /**
1899 * Returns the security domain value. Specified using the securityRealm namespace property or
1900 * overridden in the andromda.ejb.security.realm tagged value.
1901 * @return (String)handleGetSecurityRealm()
1902 */
1903 public final String getSecurityRealm()
1904 {
1905 String securityRealm58a = this.__securityRealm58a;
1906 if (!this.__securityRealm58aSet)
1907 {
1908 // securityRealm has no pre constraints
1909 securityRealm58a = handleGetSecurityRealm();
1910 // securityRealm has no post constraints
1911 this.__securityRealm58a = securityRealm58a;
1912 if (isMetafacadePropertyCachingEnabled())
1913 {
1914 this.__securityRealm58aSet = true;
1915 }
1916 }
1917 return securityRealm58a;
1918 }
1919
1920 /**
1921 * @see EJB3EntityFacade#isUseQueryCache()
1922 * @return boolean
1923 */
1924 protected abstract boolean handleIsUseQueryCache();
1925
1926 private boolean __useQueryCache59a;
1927 private boolean __useQueryCache59aSet = false;
1928
1929 /**
1930 * Returns true if the application wide namespace property hibernateUseQueryCache is enabled.
1931 * This is used for generic finder methods i.e. findAll.
1932 * @return (boolean)handleIsUseQueryCache()
1933 */
1934 public final boolean isUseQueryCache()
1935 {
1936 boolean useQueryCache59a = this.__useQueryCache59a;
1937 if (!this.__useQueryCache59aSet)
1938 {
1939 // useQueryCache has no pre constraints
1940 useQueryCache59a = handleIsUseQueryCache();
1941 // useQueryCache has no post constraints
1942 this.__useQueryCache59a = useQueryCache59a;
1943 if (isMetafacadePropertyCachingEnabled())
1944 {
1945 this.__useQueryCache59aSet = true;
1946 }
1947 }
1948 return useQueryCache59a;
1949 }
1950
1951 /**
1952 * @see EJB3EntityFacade#isSeamComponent()
1953 * @return boolean
1954 */
1955 protected abstract boolean handleIsSeamComponent();
1956
1957 private boolean __seamComponent60a;
1958 private boolean __seamComponent60aSet = false;
1959
1960 /**
1961 * Returns true if this entity has the <<Seam>> stereotype modelled indicating it is a Seam
1962 * entity component.
1963 * @return (boolean)handleIsSeamComponent()
1964 */
1965 public final boolean isSeamComponent()
1966 {
1967 boolean seamComponent60a = this.__seamComponent60a;
1968 if (!this.__seamComponent60aSet)
1969 {
1970 // seamComponent has no pre constraints
1971 seamComponent60a = handleIsSeamComponent();
1972 // seamComponent has no post constraints
1973 this.__seamComponent60a = seamComponent60a;
1974 if (isMetafacadePropertyCachingEnabled())
1975 {
1976 this.__seamComponent60aSet = true;
1977 }
1978 }
1979 return seamComponent60a;
1980 }
1981
1982 /**
1983 * @see EJB3EntityFacade#getSeamComponentScopeType()
1984 * @return String
1985 */
1986 protected abstract String handleGetSeamComponentScopeType();
1987
1988 private String __seamComponentScopeType61a;
1989 private boolean __seamComponentScopeType61aSet = false;
1990
1991 /**
1992 * Returns the seam component scope type if one is specified.
1993 * @return (String)handleGetSeamComponentScopeType()
1994 */
1995 public final String getSeamComponentScopeType()
1996 {
1997 String seamComponentScopeType61a = this.__seamComponentScopeType61a;
1998 if (!this.__seamComponentScopeType61aSet)
1999 {
2000 // seamComponentScopeType has no pre constraints
2001 seamComponentScopeType61a = handleGetSeamComponentScopeType();
2002 // seamComponentScopeType has no post constraints
2003 this.__seamComponentScopeType61a = seamComponentScopeType61a;
2004 if (isMetafacadePropertyCachingEnabled())
2005 {
2006 this.__seamComponentScopeType61aSet = true;
2007 }
2008 }
2009 return seamComponentScopeType61a;
2010 }
2011
2012 /**
2013 * @see EJB3EntityFacade#getSeamComponentName()
2014 * @return String
2015 */
2016 protected abstract String handleGetSeamComponentName();
2017
2018 private String __seamComponentName62a;
2019 private boolean __seamComponentName62aSet = false;
2020
2021 /**
2022 * Returns the Seam component name for the class.
2023 * @return (String)handleGetSeamComponentName()
2024 */
2025 public final String getSeamComponentName()
2026 {
2027 String seamComponentName62a = this.__seamComponentName62a;
2028 if (!this.__seamComponentName62aSet)
2029 {
2030 // seamComponentName has no pre constraints
2031 seamComponentName62a = handleGetSeamComponentName();
2032 // seamComponentName has no post constraints
2033 this.__seamComponentName62a = seamComponentName62a;
2034 if (isMetafacadePropertyCachingEnabled())
2035 {
2036 this.__seamComponentName62aSet = true;
2037 }
2038 }
2039 return seamComponentName62a;
2040 }
2041
2042 // ---------------- business methods ----------------------
2043
2044 /**
2045 * Method to be implemented in descendants
2046 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any
2047 * super types will also be retrieved by following up the inheritance chain.
2048 * @param follow
2049 * @return Collection
2050 */
2051 protected abstract Collection handleGetCreateMethods(boolean follow);
2052
2053 /**
2054 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any
2055 * super types will also be retrieved by following up the inheritance chain.
2056 * @param follow boolean
2057 * If true, all create methods will be returned from the inheritance hierarchy, false otherwise.
2058 * @return handleGetCreateMethods(follow)
2059 */
2060 public Collection getCreateMethods(boolean follow)
2061 {
2062 // getCreateMethods has no pre constraints
2063 Collection returnValue = handleGetCreateMethods(follow);
2064 // getCreateMethods has no post constraints
2065 return returnValue;
2066 }
2067
2068 /**
2069 * Method to be implemented in descendants
2070 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be
2071 * retrieved (including those inherited from any superclasses).
2072 * @param follow
2073 * @return Collection
2074 */
2075 protected abstract Collection handleGetSelectMethods(boolean follow);
2076
2077 /**
2078 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be
2079 * retrieved (including those inherited from any superclasses).
2080 * @param follow boolean
2081 * If set to true, then all select methods including those in its superclass will be retrieved.
2082 * @return handleGetSelectMethods(follow)
2083 */
2084 public Collection getSelectMethods(boolean follow)
2085 {
2086 // getSelectMethods has no pre constraints
2087 Collection returnValue = handleGetSelectMethods(follow);
2088 // getSelectMethods has no post constraints
2089 return returnValue;
2090 }
2091
2092 /**
2093 * Method to be implemented in descendants
2094 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static
2095 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
2096 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
2097 * types as well.
2098 * @param follow
2099 * @return Collection
2100 */
2101 protected abstract Collection handleGetEnvironmentEntries(boolean follow);
2102
2103 /**
2104 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static
2105 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
2106 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
2107 * types as well.
2108 * @param follow boolean
2109 * If true, then the inheritance hierarchy will be followed and we'll retrieve all env-entries
2110 * from any super types as well.
2111 * @return handleGetEnvironmentEntries(follow)
2112 */
2113 public Collection getEnvironmentEntries(boolean follow)
2114 {
2115 // getEnvironmentEntries has no pre constraints
2116 Collection returnValue = handleGetEnvironmentEntries(follow);
2117 // getEnvironmentEntries has no post constraints
2118 return returnValue;
2119 }
2120
2121 /**
2122 * Method to be implemented in descendants
2123 * Gets all constants for this entity. Constants are defined as static read-only attributes
2124 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance
2125 * hierarchy will be followed and we'll retrieve all constants from any super types as well.
2126 * @param follow
2127 * @return Collection
2128 */
2129 protected abstract Collection handleGetConstants(boolean follow);
2130
2131 /**
2132 * Gets all constants for this entity. Constants are defined as static read-only attributes
2133 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance
2134 * hierarchy will be followed and we'll retrieve all constants from any super types as well.
2135 * @param follow boolean
2136 * If true, then the inheritance hierarchy will be followed and we'll retrieve all constants
2137 * from any super types as well.
2138 * @return handleGetConstants(follow)
2139 */
2140 public Collection getConstants(boolean follow)
2141 {
2142 // getConstants has no pre constraints
2143 Collection returnValue = handleGetConstants(follow);
2144 // getConstants has no post constraints
2145 return returnValue;
2146 }
2147
2148 /**
2149 * Method to be implemented in descendants
2150 * If the operation op is present
2151 * @param op
2152 * @return boolean
2153 */
2154 protected abstract boolean handleIsOperationPresent(String op);
2155
2156 /**
2157 * If the operation op is present
2158 * @param op String
2159 * TODO: Model Documentation for
2160 * EJB3EntityFacade.isOperationPresent(op)
2161 * @return handleIsOperationPresent(op)
2162 */
2163 public boolean isOperationPresent(String op)
2164 {
2165 // isOperationPresent has no pre constraints
2166 boolean returnValue = handleIsOperationPresent(op);
2167 // isOperationPresent has no post constraints
2168 return returnValue;
2169 }
2170
2171 /**
2172 * Method to be implemented in descendants
2173 * If the attribute att is present
2174 * @param att
2175 * @return boolean
2176 */
2177 protected abstract boolean handleIsAttributePresent(String att);
2178
2179 /**
2180 * If the attribute att is present
2181 * @param att String
2182 * TODO: Model Documentation for
2183 * EJB3EntityFacade.isAttributePresent(att)
2184 * @return handleIsAttributePresent(att)
2185 */
2186 public boolean isAttributePresent(String att)
2187 {
2188 // isAttributePresent has no pre constraints
2189 boolean returnValue = handleIsAttributePresent(att);
2190 // isAttributePresent has no post constraints
2191 return returnValue;
2192 }
2193
2194 /**
2195 * Method to be implemented in descendants
2196 * If the identifier id is present
2197 * @param id
2198 * @return boolean
2199 */
2200 protected abstract boolean handleIsIdentifierPresent(String id);
2201
2202 /**
2203 * If the identifier id is present
2204 * @param id String
2205 * TODO: Model Documentation for
2206 * EJB3EntityFacade.isIdentifierPresent(id)
2207 * @return handleIsIdentifierPresent(id)
2208 */
2209 public boolean isIdentifierPresent(String id)
2210 {
2211 // isIdentifierPresent has no pre constraints
2212 boolean returnValue = handleIsIdentifierPresent(id);
2213 // isIdentifierPresent has no post constraints
2214 return returnValue;
2215 }
2216
2217 /**
2218 * Method to be implemented in descendants
2219 * Gets the SQL Mappings from the SQLMappings URI
2220 * @return String
2221 */
2222 protected abstract String handleGetSqlType();
2223
2224 /**
2225 * Gets the SQL Mappings from the SQLMappings URI
2226 * @return handleGetSqlType()
2227 */
2228 public String getSqlType()
2229 {
2230 // getSqlType has no pre constraints
2231 String returnValue = handleGetSqlType();
2232 // getSqlType has no post constraints
2233 return returnValue;
2234 }
2235
2236 /**
2237 * Method to be implemented in descendants
2238 * Create a comma separated list of attributes. This method can be used to generate argument
2239 * lists for constructors, method calls etc. It will not return attributes tagged to be
2240 * optimistic lock values. It will consider LOB attributes where the LOB type has been
2241 * overridden using the @androma.persistence.lob.type tagged value.
2242 * @param attributes
2243 * @param includeTypes
2244 * @param includeNames
2245 * @param includeAutoIdentifiers
2246 * @return String
2247 */
2248 protected abstract String handleGetAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers);
2249
2250 /**
2251 * Create a comma separated list of attributes. This method can be used to generate argument
2252 * lists for constructors, method calls etc. It will not return attributes tagged to be
2253 * optimistic lock values. It will consider LOB attributes where the LOB type has been
2254 * overridden using the @androma.persistence.lob.type tagged value.
2255 * @param attributes Collection
2256 * a collection of {@link Attribute} objects
2257 * @param includeTypes boolean
2258 * if <code>true</code>, the type names of the attributes are included.
2259 * @param includeNames boolean
2260 * if <code>true</code>, the names of the attributes are included
2261 * @param includeAutoIdentifiers boolean
2262 * Whether to include identifier attributes.
2263 * @return handleGetAttributesAsList(attributes, includeTypes, includeNames, includeAutoIdentifiers)
2264 */
2265 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers)
2266 {
2267 // getAttributesAsList has no pre constraints
2268 String returnValue = handleGetAttributesAsList(attributes, includeTypes, includeNames, includeAutoIdentifiers);
2269 // getAttributesAsList has no post constraints
2270 return returnValue;
2271 }
2272
2273 /**
2274 * Method to be implemented in descendants
2275 * Retrieves the values object references for this entity. If <code>follow</code> is true, then
2276 * all value object references (including those that were inherited) will be retrieved.
2277 * @param follow
2278 * @return Collection
2279 */
2280 protected abstract Collection handleGetValueObjectReferences(boolean follow);
2281
2282 /**
2283 * Retrieves the values object references for this entity. If <code>follow</code> is true, then
2284 * all value object references (including those that were inherited) will be retrieved.
2285 * @param follow boolean
2286 * TODO: Model Documentation for
2287 * EJB3EntityFacade.getValueObjectReferences(follow)
2288 * @return handleGetValueObjectReferences(follow)
2289 */
2290 public Collection getValueObjectReferences(boolean follow)
2291 {
2292 // getValueObjectReferences has no pre constraints
2293 Collection returnValue = handleGetValueObjectReferences(follow);
2294 // getValueObjectReferences has no post constraints
2295 return returnValue;
2296 }
2297
2298 /**
2299 * Method to be implemented in descendants
2300 * Gets all instance attributes of the entity, and optionally retieves the super entities
2301 * instance attributes as well as excludes the entity's identifiers if 'withIdentifiers' is set
2302 * to false.
2303 * @param follow
2304 * @param withIdentifiers
2305 * @return Collection
2306 */
2307 protected abstract Collection handleGetInstanceAttributes(boolean follow, boolean withIdentifiers);
2308
2309 /**
2310 * Gets all instance attributes of the entity, and optionally retieves the super entities
2311 * instance attributes as well as excludes the entity's identifiers if 'withIdentifiers' is set
2312 * to false.
2313 * @param follow boolean
2314 * Whether or not to follow the inheritance hierarchy when retrieving the attributes.
2315 * @param withIdentifiers boolean
2316 * Whether or not to include identifiers in the returned attributes.
2317 * @return handleGetInstanceAttributes(follow, withIdentifiers)
2318 */
2319 public Collection getInstanceAttributes(boolean follow, boolean withIdentifiers)
2320 {
2321 // getInstanceAttributes has no pre constraints
2322 Collection returnValue = handleGetInstanceAttributes(follow, withIdentifiers);
2323 // getInstanceAttributes has no post constraints
2324 return returnValue;
2325 }
2326
2327 /**
2328 * Method to be implemented in descendants
2329 * Gets a comma separated list of instance attribute names. If 'follow' is true, will travel up
2330 * the inheritance hierarchy to include instance attributes in parent entities as well. If
2331 * 'withIdentifiers' is true, will include identifiers.
2332 * @param follow
2333 * @param withIdentifiers
2334 * @return String
2335 */
2336 protected abstract String handleGetInstanceAttributeNameList(boolean follow, boolean withIdentifiers);
2337
2338 /**
2339 * Gets a comma separated list of instance attribute names. If 'follow' is true, will travel up
2340 * the inheritance hierarchy to include instance attributes in parent entities as well. If
2341 * 'withIdentifiers' is true, will include identifiers.
2342 * @param follow boolean
2343 * Whether or not to 'follow' the inheritance hierarchy.
2344 * @param withIdentifiers boolean
2345 * Whether or not to include identifiers in the returned attributes.
2346 * @return handleGetInstanceAttributeNameList(follow, withIdentifiers)
2347 */
2348 public String getInstanceAttributeNameList(boolean follow, boolean withIdentifiers)
2349 {
2350 // getInstanceAttributeNameList has no pre constraints
2351 String returnValue = handleGetInstanceAttributeNameList(follow, withIdentifiers);
2352 // getInstanceAttributeNameList has no post constraints
2353 return returnValue;
2354 }
2355
2356 /**
2357 * Method to be implemented in descendants
2358 * Gets a comma separated list of instance attribute types. If 'follow' is true, will travel up
2359 * the inheritance hierarchy to include instance attribute types in parent entities as well. If
2360 * 'withIdentifiers' is true, will include identifiers.
2361 * @param follow
2362 * @param withIdentifiers
2363 * @return String
2364 */
2365 protected abstract String handleGetInstanceAttributeTypeList(boolean follow, boolean withIdentifiers);
2366
2367 /**
2368 * Gets a comma separated list of instance attribute types. If 'follow' is true, will travel up
2369 * the inheritance hierarchy to include instance attribute types in parent entities as well. If
2370 * 'withIdentifiers' is true, will include identifiers.
2371 * @param follow boolean
2372 * Whether or not to 'follow' the inheritance hierarchy.
2373 * @param withIdentifiers boolean
2374 * Whether or not to include identifiers.
2375 * @return handleGetInstanceAttributeTypeList(follow, withIdentifiers)
2376 */
2377 public String getInstanceAttributeTypeList(boolean follow, boolean withIdentifiers)
2378 {
2379 // getInstanceAttributeTypeList has no pre constraints
2380 String returnValue = handleGetInstanceAttributeTypeList(follow, withIdentifiers);
2381 // getInstanceAttributeTypeList has no post constraints
2382 return returnValue;
2383 }
2384
2385 // ------------- associations ------------------
2386
2387 private EJB3EntityFacade __getRoot1r;
2388 private boolean __getRoot1rSet = false;
2389
2390 /**
2391 * Represents an entity EJB.
2392 * @return (EJB3EntityFacade)handleGetRoot()
2393 */
2394 public final EJB3EntityFacade getRoot()
2395 {
2396 EJB3EntityFacade getRoot1r = this.__getRoot1r;
2397 if (!this.__getRoot1rSet)
2398 {
2399 // eJB3EntityFacade has no pre constraints
2400 Object result = handleGetRoot();
2401 MetafacadeBase shieldedResult = this.shieldedElement(result);
2402 try
2403 {
2404 getRoot1r = (EJB3EntityFacade)shieldedResult;
2405 }
2406 catch (ClassCastException ex)
2407 {
2408 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2409 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getRoot EJB3EntityFacade " + result + ": " + shieldedResult);
2410 }
2411 // eJB3EntityFacade has no post constraints
2412 this.__getRoot1r = getRoot1r;
2413 if (isMetafacadePropertyCachingEnabled())
2414 {
2415 this.__getRoot1rSet = true;
2416 }
2417 }
2418 return getRoot1r;
2419 }
2420
2421 /**
2422 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type
2423 * @return Object
2424 */
2425 protected abstract Object handleGetRoot();
2426
2427 /**
2428 * Represents an entity EJB.
2429 * @return (Collection<DependencyFacade>)handleGetValueObjectReferences()
2430 */
2431 public final Collection<DependencyFacade> getValueObjectReferences()
2432 {
2433 Collection<DependencyFacade> getValueObjectReferences2r = null;
2434 // eJB3EntityFacade has no pre constraints
2435 Collection result = handleGetValueObjectReferences();
2436 List shieldedResult = this.shieldedElements(result);
2437 try
2438 {
2439 getValueObjectReferences2r = (Collection<DependencyFacade>)shieldedResult;
2440 }
2441 catch (ClassCastException ex)
2442 {
2443 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2444 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getValueObjectReferences Collection<DependencyFacade> " + result + ": " + shieldedResult);
2445 }
2446 // eJB3EntityFacade has no post constraints
2447 return getValueObjectReferences2r;
2448 }
2449
2450 /**
2451 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2452 * @return Collection
2453 */
2454 protected abstract Collection handleGetValueObjectReferences();
2455
2456 /**
2457 * Represents an entity EJB.
2458 * @return (AttributeFacade)handleGetManageableDisplayAttribute()
2459 */
2460 public final AttributeFacade getManageableDisplayAttribute()
2461 {
2462 AttributeFacade getManageableDisplayAttribute3r = null;
2463 // eJB3EntityFacade has no pre constraints
2464 Object result = handleGetManageableDisplayAttribute();
2465 MetafacadeBase shieldedResult = this.shieldedElement(result);
2466 try
2467 {
2468 getManageableDisplayAttribute3r = (AttributeFacade)shieldedResult;
2469 }
2470 catch (ClassCastException ex)
2471 {
2472 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2473 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getManageableDisplayAttribute AttributeFacade " + result + ": " + shieldedResult);
2474 }
2475 // eJB3EntityFacade has no post constraints
2476 return getManageableDisplayAttribute3r;
2477 }
2478
2479 /**
2480 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type
2481 * @return Object
2482 */
2483 protected abstract Object handleGetManageableDisplayAttribute();
2484
2485 /**
2486 * Represents an entity EJB.
2487 * @return (Collection<DependencyFacade>)handleGetAllValueObjectReferences()
2488 */
2489 public final Collection<DependencyFacade> getAllValueObjectReferences()
2490 {
2491 Collection<DependencyFacade> getAllValueObjectReferences4r = null;
2492 // eJB3EntityFacade has no pre constraints
2493 Collection result = handleGetAllValueObjectReferences();
2494 List shieldedResult = this.shieldedElements(result);
2495 try
2496 {
2497 getAllValueObjectReferences4r = (Collection<DependencyFacade>)shieldedResult;
2498 }
2499 catch (ClassCastException ex)
2500 {
2501 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2502 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getAllValueObjectReferences Collection<DependencyFacade> " + result + ": " + shieldedResult);
2503 }
2504 // eJB3EntityFacade has no post constraints
2505 return getAllValueObjectReferences4r;
2506 }
2507
2508 /**
2509 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2510 * @return Collection
2511 */
2512 protected abstract Collection handleGetAllValueObjectReferences();
2513
2514 private Collection<EJB3OperationFacade> __getDaoBusinessOperations5r;
2515 private boolean __getDaoBusinessOperations5rSet = false;
2516
2517 /**
2518 * Represents an entity EJB.
2519 * @return (Collection<EJB3OperationFacade>)handleGetDaoBusinessOperations()
2520 */
2521 public final Collection<EJB3OperationFacade> getDaoBusinessOperations()
2522 {
2523 Collection<EJB3OperationFacade> getDaoBusinessOperations5r = this.__getDaoBusinessOperations5r;
2524 if (!this.__getDaoBusinessOperations5rSet)
2525 {
2526 // eJB3EntityFacade has no pre constraints
2527 Collection result = handleGetDaoBusinessOperations();
2528 List shieldedResult = this.shieldedElements(result);
2529 try
2530 {
2531 getDaoBusinessOperations5r = (Collection<EJB3OperationFacade>)shieldedResult;
2532 }
2533 catch (ClassCastException ex)
2534 {
2535 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2536 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getDaoBusinessOperations Collection<EJB3OperationFacade> " + result + ": " + shieldedResult);
2537 }
2538 // eJB3EntityFacade has no post constraints
2539 this.__getDaoBusinessOperations5r = getDaoBusinessOperations5r;
2540 if (isMetafacadePropertyCachingEnabled())
2541 {
2542 this.__getDaoBusinessOperations5rSet = true;
2543 }
2544 }
2545 return getDaoBusinessOperations5r;
2546 }
2547
2548 /**
2549 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2550 * @return Collection
2551 */
2552 protected abstract Collection handleGetDaoBusinessOperations();
2553
2554 /**
2555 * Represents an entity EJB.
2556 * @return (Collection<Role>)handleGetNonRunAsRoles()
2557 */
2558 public final Collection<Role> getNonRunAsRoles()
2559 {
2560 Collection<Role> getNonRunAsRoles6r = null;
2561 // eJB3EntityFacade has no pre constraints
2562 Collection result = handleGetNonRunAsRoles();
2563 List shieldedResult = this.shieldedElements(result);
2564 try
2565 {
2566 getNonRunAsRoles6r = (Collection<Role>)shieldedResult;
2567 }
2568 catch (ClassCastException ex)
2569 {
2570 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2571 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getNonRunAsRoles Collection<Role> " + result + ": " + shieldedResult);
2572 }
2573 // eJB3EntityFacade has no post constraints
2574 return getNonRunAsRoles6r;
2575 }
2576
2577 /**
2578 * UML Specific type is returned in Collection, transformed by shieldedElements to AndroMDA Metafacade type
2579 * @return Collection
2580 */
2581 protected abstract Collection handleGetNonRunAsRoles();
2582
2583 private ModelElementFacade __getIdentifier7r;
2584 private boolean __getIdentifier7rSet = false;
2585
2586 /**
2587 * Represents an entity EJB.
2588 * @return (ModelElementFacade)handleGetIdentifier()
2589 */
2590 public final ModelElementFacade getIdentifier()
2591 {
2592 ModelElementFacade getIdentifier7r = this.__getIdentifier7r;
2593 if (!this.__getIdentifier7rSet)
2594 {
2595 // eJB3EntityFacade has no pre constraints
2596 Object result = handleGetIdentifier();
2597 MetafacadeBase shieldedResult = this.shieldedElement(result);
2598 try
2599 {
2600 getIdentifier7r = (ModelElementFacade)shieldedResult;
2601 }
2602 catch (ClassCastException ex)
2603 {
2604 // Bad things happen if the metafacade type mapping in metafacades.xml is wrong - Warn
2605 EJB3EntityFacadeLogic.logger.warn("incorrect metafacade cast for EJB3EntityFacadeLogic.getIdentifier ModelElementFacade " + result + ": " + shieldedResult);
2606 }
2607 // eJB3EntityFacade has no post constraints
2608 this.__getIdentifier7r = getIdentifier7r;
2609 if (isMetafacadePropertyCachingEnabled())
2610 {
2611 this.__getIdentifier7rSet = true;
2612 }
2613 }
2614 return getIdentifier7r;
2615 }
2616
2617 /**
2618 * UML Specific type is transformed by shieldedElements to AndroMDA Metafacade type
2619 * @return Object
2620 */
2621 protected abstract Object handleGetIdentifier();
2622
2623 /**
2624 * @return true
2625 * @see Entity
2626 */
2627 public boolean isEntityMetaType()
2628 {
2629 return true;
2630 }
2631
2632 /**
2633 * @return true
2634 * @see ClassifierFacade
2635 */
2636 public boolean isClassifierFacadeMetaType()
2637 {
2638 return true;
2639 }
2640
2641 /**
2642 * @return true
2643 * @see GeneralizableElementFacade
2644 */
2645 public boolean isGeneralizableElementFacadeMetaType()
2646 {
2647 return true;
2648 }
2649
2650 /**
2651 * @return true
2652 * @see ModelElementFacade
2653 */
2654 public boolean isModelElementFacadeMetaType()
2655 {
2656 return true;
2657 }
2658
2659 // ----------- delegates to Entity ------------
2660 /**
2661 * Return the attribute which name matches the parameter
2662 * @see ClassifierFacade#findAttribute(String name)
2663 */
2664 public AttributeFacade findAttribute(String name)
2665 {
2666 return this.getSuperEntity().findAttribute(name);
2667 }
2668
2669 /**
2670 * Those abstraction dependencies for which this classifier is the client.
2671 * @see ClassifierFacade#getAbstractions()
2672 */
2673 public Collection<ClassifierFacade> getAbstractions()
2674 {
2675 return this.getSuperEntity().getAbstractions();
2676 }
2677
2678 /**
2679 * Lists all classes associated to this one and any ancestor classes (through generalization).
2680 * There will be no duplicates. The order of the elements is predictable.
2681 * @see ClassifierFacade#getAllAssociatedClasses()
2682 */
2683 public Collection<ClassifierFacade> getAllAssociatedClasses()
2684 {
2685 return this.getSuperEntity().getAllAssociatedClasses();
2686 }
2687
2688 /**
2689 * A collection containing all 'properties' of the classifier and its ancestors. Properties are
2690 * any attributes and navigable connecting association ends.
2691 * @see ClassifierFacade#getAllProperties()
2692 */
2693 public Collection<ModelElementFacade> getAllProperties()
2694 {
2695 return this.getSuperEntity().getAllProperties();
2696 }
2697
2698 /**
2699 * A collection containing all required and/or read-only 'properties' of the classifier and its
2700 * ancestors. Properties are any attributes and navigable connecting association ends.
2701 * @see ClassifierFacade#getAllRequiredConstructorParameters()
2702 */
2703 public Collection<ModelElementFacade> getAllRequiredConstructorParameters()
2704 {
2705 return this.getSuperEntity().getAllRequiredConstructorParameters();
2706 }
2707
2708 /**
2709 * Gets the array type for this classifier. If this classifier already represents an array, it
2710 * just returns itself.
2711 * @see ClassifierFacade#getArray()
2712 */
2713 public ClassifierFacade getArray()
2714 {
2715 return this.getSuperEntity().getArray();
2716 }
2717
2718 /**
2719 * The name of the classifier as an array.
2720 * @see ClassifierFacade#getArrayName()
2721 */
2722 public String getArrayName()
2723 {
2724 return this.getSuperEntity().getArrayName();
2725 }
2726
2727 /**
2728 * Lists the classes associated to this one, there is no repitition of classes. The order of the
2729 * elements is predictable.
2730 * @see ClassifierFacade#getAssociatedClasses()
2731 */
2732 public Collection<ClassifierFacade> getAssociatedClasses()
2733 {
2734 return this.getSuperEntity().getAssociatedClasses();
2735 }
2736
2737 /**
2738 * Gets the association ends belonging to a classifier.
2739 * @see ClassifierFacade#getAssociationEnds()
2740 */
2741 public List<AssociationEndFacade> getAssociationEnds()
2742 {
2743 return this.getSuperEntity().getAssociationEnds();
2744 }
2745
2746 /**
2747 * Gets the attributes that belong to the classifier.
2748 * @see ClassifierFacade#getAttributes()
2749 */
2750 public List<AttributeFacade> getAttributes()
2751 {
2752 return this.getSuperEntity().getAttributes();
2753 }
2754
2755 /**
2756 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance
2757 * hierarchy and gets the attributes from the super classes as well.
2758 * @see ClassifierFacade#getAttributes(boolean follow)
2759 */
2760 public List<AttributeFacade> getAttributes(boolean follow)
2761 {
2762 return this.getSuperEntity().getAttributes(follow);
2763 }
2764
2765 /**
2766 * The fully qualified name of the classifier as an array.
2767 * @see ClassifierFacade#getFullyQualifiedArrayName()
2768 */
2769 public String getFullyQualifiedArrayName()
2770 {
2771 return this.getSuperEntity().getFullyQualifiedArrayName();
2772 }
2773
2774 /**
2775 * Returns all those operations that could be implemented at this classifier's level. This means
2776 * the operations owned by this classifier as well as any realized interface's operations
2777 * (recursively) in case this classifier itself is not already an interface, or generalized when
2778 * this classifier is an interface.
2779 * @see ClassifierFacade#getImplementationOperations()
2780 */
2781 public Collection<OperationFacade> getImplementationOperations()
2782 {
2783 return this.getSuperEntity().getImplementationOperations();
2784 }
2785
2786 /**
2787 * A comma separated list of the fully qualified names of all implemented interfaces.
2788 * @see ClassifierFacade#getImplementedInterfaceList()
2789 */
2790 public String getImplementedInterfaceList()
2791 {
2792 return this.getSuperEntity().getImplementedInterfaceList();
2793 }
2794
2795 /**
2796 * Those attributes that are scoped to an instance of this class.
2797 * @see ClassifierFacade#getInstanceAttributes()
2798 */
2799 public Collection<AttributeFacade> getInstanceAttributes()
2800 {
2801 return this.getSuperEntity().getInstanceAttributes();
2802 }
2803
2804 /**
2805 * Those operations that are scoped to an instance of this class.
2806 * @see ClassifierFacade#getInstanceOperations()
2807 */
2808 public List<OperationFacade> getInstanceOperations()
2809 {
2810 return this.getSuperEntity().getInstanceOperations();
2811 }
2812
2813 /**
2814 * Those interfaces that are abstractions of this classifier, this basically means this
2815 * classifier realizes them.
2816 * @see ClassifierFacade#getInterfaceAbstractions()
2817 */
2818 public Collection<ClassifierFacade> getInterfaceAbstractions()
2819 {
2820 return this.getSuperEntity().getInterfaceAbstractions();
2821 }
2822
2823 /**
2824 * A String representing a new Constructor declaration for this classifier type to be used in a
2825 * Java environment.
2826 * @see ClassifierFacade#getJavaNewString()
2827 */
2828 public String getJavaNewString()
2829 {
2830 return this.getSuperEntity().getJavaNewString();
2831 }
2832
2833 /**
2834 * A String representing the null-value for this classifier type to be used in a Java
2835 * environment.
2836 * @see ClassifierFacade#getJavaNullString()
2837 */
2838 public String getJavaNullString()
2839 {
2840 return this.getSuperEntity().getJavaNullString();
2841 }
2842
2843 /**
2844 * The other ends of this classifier's association ends which are navigable.
2845 * @see ClassifierFacade#getNavigableConnectingEnds()
2846 */
2847 public Collection<AssociationEndFacade> getNavigableConnectingEnds()
2848 {
2849 return this.getSuperEntity().getNavigableConnectingEnds();
2850 }
2851
2852 /**
2853 * Get the other ends of this classifier's association ends which are navigable and if 'follow'
2854 * is true goes up the inheritance hierarchy and gets the super association ends as well.
2855 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow)
2856 */
2857 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow)
2858 {
2859 return this.getSuperEntity().getNavigableConnectingEnds(follow);
2860 }
2861
2862 /**
2863 * Assuming that the classifier is an array, this will return the non array type of the
2864 * classifier from
2865 * the model. If the classifier is NOT an array, it will just return itself.
2866 * @see ClassifierFacade#getNonArray()
2867 */
2868 public ClassifierFacade getNonArray()
2869 {
2870 return this.getSuperEntity().getNonArray();
2871 }
2872
2873 /**
2874 * The attributes from this classifier in the form of an operation call (this example would be
2875 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the
2876 * classifier, the result would be an empty '()'.
2877 * @see ClassifierFacade#getOperationCallFromAttributes()
2878 */
2879 public String getOperationCallFromAttributes()
2880 {
2881 return this.getSuperEntity().getOperationCallFromAttributes();
2882 }
2883
2884 /**
2885 * The operations owned by this classifier.
2886 * @see ClassifierFacade#getOperations()
2887 */
2888 public List<OperationFacade> getOperations()
2889 {
2890 return this.getSuperEntity().getOperations();
2891 }
2892
2893 /**
2894 * A collection containing all 'properties' of the classifier. Properties are any attributes
2895 * and navigable connecting association ends.
2896 * @see ClassifierFacade#getProperties()
2897 */
2898 public List<ModelElementFacade> getProperties()
2899 {
2900 return this.getSuperEntity().getProperties();
2901 }
2902
2903 /**
2904 * Gets all properties (attributes and navigable association ends) for the classifier and if
2905 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super
2906 * classes as well.
2907 * @see ClassifierFacade#getProperties(boolean follow)
2908 */
2909 public List getProperties(boolean follow)
2910 {
2911 return this.getSuperEntity().getProperties(follow);
2912 }
2913
2914 /**
2915 * A collection containing all required and/or read-only 'properties' of the classifier.
2916 * Properties are any attributes and navigable connecting association ends.
2917 * @see ClassifierFacade#getRequiredConstructorParameters()
2918 */
2919 public Collection<ModelElementFacade> getRequiredConstructorParameters()
2920 {
2921 return this.getSuperEntity().getRequiredConstructorParameters();
2922 }
2923
2924 /**
2925 * Returns the serial version UID of the underlying model element.
2926 * @see ClassifierFacade#getSerialVersionUID()
2927 */
2928 public long getSerialVersionUID()
2929 {
2930 return this.getSuperEntity().getSerialVersionUID();
2931 }
2932
2933 /**
2934 * Those attributes that are scoped to the definition of this class.
2935 * @see ClassifierFacade#getStaticAttributes()
2936 */
2937 public Collection<AttributeFacade> getStaticAttributes()
2938 {
2939 return this.getSuperEntity().getStaticAttributes();
2940 }
2941
2942 /**
2943 * Those operations that are scoped to the definition of this class.
2944 * @see ClassifierFacade#getStaticOperations()
2945 */
2946 public List<OperationFacade> getStaticOperations()
2947 {
2948 return this.getSuperEntity().getStaticOperations();
2949 }
2950
2951 /**
2952 * This class' superclass, returns the generalization if it is a ClassifierFacade, null
2953 * otherwise.
2954 * @see ClassifierFacade#getSuperClass()
2955 */
2956 public ClassifierFacade getSuperClass()
2957 {
2958 return this.getSuperEntity().getSuperClass();
2959 }
2960
2961 /**
2962 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long'
2963 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will
2964 * return a null. Note that wrapper mappings must be defined for the namespace by defining the
2965 * 'wrapperMappingsUri', this property must point to the location of the mappings file which
2966 * maps the primitives to wrapper types.
2967 * @see ClassifierFacade#getWrapperName()
2968 */
2969 public String getWrapperName()
2970 {
2971 return this.getSuperEntity().getWrapperName();
2972 }
2973
2974 /**
2975 * Indicates if this classifier is 'abstract'.
2976 * @see ClassifierFacade#isAbstract()
2977 */
2978 public boolean isAbstract()
2979 {
2980 return this.getSuperEntity().isAbstract();
2981 }
2982
2983 /**
2984 * True if this classifier represents an array type. False otherwise.
2985 * @see ClassifierFacade#isArrayType()
2986 */
2987 public boolean isArrayType()
2988 {
2989 return this.getSuperEntity().isArrayType();
2990 }
2991
2992 /**
2993 * True if the ClassifierFacade is an AssociationClass.
2994 * @see ClassifierFacade#isAssociationClass()
2995 */
2996 public boolean isAssociationClass()
2997 {
2998 return this.getSuperEntity().isAssociationClass();
2999 }
3000
3001 /**
3002 * Returns true if this type represents a Blob type.
3003 * @see ClassifierFacade#isBlobType()
3004 */
3005 public boolean isBlobType()
3006 {
3007 return this.getSuperEntity().isBlobType();
3008 }
3009
3010 /**
3011 * Indicates if this type represents a boolean type or not.
3012 * @see ClassifierFacade#isBooleanType()
3013 */
3014 public boolean isBooleanType()
3015 {
3016 return this.getSuperEntity().isBooleanType();
3017 }
3018
3019 /**
3020 * Indicates if this type represents a char, Character, or java.lang.Character type or not.
3021 * @see ClassifierFacade#isCharacterType()
3022 */
3023 public boolean isCharacterType()
3024 {
3025 return this.getSuperEntity().isCharacterType();
3026 }
3027
3028 /**
3029 * Returns true if this type represents a Clob type.
3030 * @see ClassifierFacade#isClobType()
3031 */
3032 public boolean isClobType()
3033 {
3034 return this.getSuperEntity().isClobType();
3035 }
3036
3037 /**
3038 * True if this classifier represents a collection type. False otherwise.
3039 * @see ClassifierFacade#isCollectionType()
3040 */
3041 public boolean isCollectionType()
3042 {
3043 return this.getSuperEntity().isCollectionType();
3044 }
3045
3046 /**
3047 * True/false depending on whether or not this classifier represents a datatype. A data type is
3048 * a type whose instances are identified only by their value. A data type may contain attributes
3049 * to support the modeling of structured data types.
3050 * @see ClassifierFacade#isDataType()
3051 */
3052 public boolean isDataType()
3053 {
3054 return this.getSuperEntity().isDataType();
3055 }
3056
3057 /**
3058 * True when this classifier is a date type.
3059 * @see ClassifierFacade#isDateType()
3060 */
3061 public boolean isDateType()
3062 {
3063 return this.getSuperEntity().isDateType();
3064 }
3065
3066 /**
3067 * Indicates if this type represents a Double type or not.
3068 * @see ClassifierFacade#isDoubleType()
3069 */
3070 public boolean isDoubleType()
3071 {
3072 return this.getSuperEntity().isDoubleType();
3073 }
3074
3075 /**
3076 * Indicates whether or not this classifier represents an "EmbeddedValue'.
3077 * @see ClassifierFacade#isEmbeddedValue()
3078 */
3079 public boolean isEmbeddedValue()
3080 {
3081 return this.getSuperEntity().isEmbeddedValue();
3082 }
3083
3084 /**
3085 * True if this classifier is in fact marked as an enumeration.
3086 * @see ClassifierFacade#isEnumeration()
3087 */
3088 public boolean isEnumeration()
3089 {
3090 return this.getSuperEntity().isEnumeration();
3091 }
3092
3093 /**
3094 * Returns true if this type represents a 'file' type.
3095 * @see ClassifierFacade#isFileType()
3096 */
3097 public boolean isFileType()
3098 {
3099 return this.getSuperEntity().isFileType();
3100 }
3101
3102 /**
3103 * Indicates if this type represents a Float type or not.
3104 * @see ClassifierFacade#isFloatType()
3105 */
3106 public boolean isFloatType()
3107 {
3108 return this.getSuperEntity().isFloatType();
3109 }
3110
3111 /**
3112 * Indicates if this type represents an int or Integer or java.lang.Integer type or not.
3113 * @see ClassifierFacade#isIntegerType()
3114 */
3115 public boolean isIntegerType()
3116 {
3117 return this.getSuperEntity().isIntegerType();
3118 }
3119
3120 /**
3121 * True/false depending on whether or not this Classifier represents an interface.
3122 * @see ClassifierFacade#isInterface()
3123 */
3124 public boolean isInterface()
3125 {
3126 return this.getSuperEntity().isInterface();
3127 }
3128
3129 /**
3130 * True if this classifier cannot be extended and represent a leaf in the inheritance tree.
3131 * @see ClassifierFacade#isLeaf()
3132 */
3133 public boolean isLeaf()
3134 {
3135 return this.getSuperEntity().isLeaf();
3136 }
3137
3138 /**
3139 * True if this classifier represents a list type. False otherwise.
3140 * @see ClassifierFacade#isListType()
3141 */
3142 public boolean isListType()
3143 {
3144 return this.getSuperEntity().isListType();
3145 }
3146
3147 /**
3148 * Indicates if this type represents a Long type or not.
3149 * @see ClassifierFacade#isLongType()
3150 */
3151 public boolean isLongType()
3152 {
3153 return this.getSuperEntity().isLongType();
3154 }
3155
3156 /**
3157 * Indicates whether or not this classifier represents a Map type.
3158 * @see ClassifierFacade#isMapType()
3159 */
3160 public boolean isMapType()
3161 {
3162 return this.getSuperEntity().isMapType();
3163 }
3164
3165 /**
3166 * Indicates whether or not this classifier represents a primitive type.
3167 * @see ClassifierFacade#isPrimitive()
3168 */
3169 public boolean isPrimitive()
3170 {
3171 return this.getSuperEntity().isPrimitive();
3172 }
3173
3174 /**
3175 * True if this classifier represents a set type. False otherwise.
3176 * @see ClassifierFacade#isSetType()
3177 */
3178 public boolean isSetType()
3179 {
3180 return this.getSuperEntity().isSetType();
3181 }
3182
3183 /**
3184 * Indicates whether or not this classifier represents a string type.
3185 * @see ClassifierFacade#isStringType()
3186 */
3187 public boolean isStringType()
3188 {
3189 return this.getSuperEntity().isStringType();
3190 }
3191
3192 /**
3193 * Indicates whether or not this classifier represents a time type.
3194 * @see ClassifierFacade#isTimeType()
3195 */
3196 public boolean isTimeType()
3197 {
3198 return this.getSuperEntity().isTimeType();
3199 }
3200
3201 /**
3202 * Returns true if this type is a wrapped primitive type.
3203 * @see ClassifierFacade#isWrappedPrimitive()
3204 */
3205 public boolean isWrappedPrimitive()
3206 {
3207 return this.getSuperEntity().isWrappedPrimitive();
3208 }
3209
3210 /**
3211 * Returns a collection of all entities this entity and its ancestors have a relation to.
3212 * @see Entity#getAllEntityReferences()
3213 */
3214 public Collection<DependencyFacade> getAllEntityReferences()
3215 {
3216 return this.getSuperEntity().getAllEntityReferences();
3217 }
3218
3219 /**
3220 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
3221 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
3222 * is true, will include identifiers.
3223 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers)
3224 */
3225 public String getAttributeNameList(boolean follow, boolean withIdentifiers)
3226 {
3227 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers);
3228 }
3229
3230 /**
3231 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
3232 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
3233 * is true, will include identifiers and if 'withDerived' is set to true, will include derived
3234 * attributes.
3235 * @see Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
3236 */
3237 public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
3238 {
3239 return this.getSuperEntity().getAttributeNameList(follow, withIdentifiers, withDerived);
3240 }
3241
3242 /**
3243 * Gets a comma separated list of attribute types. If 'follow' is true, will travel up the
3244 * inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers'
3245 * is true, will include identifiers.
3246 * @see Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers)
3247 */
3248 public String getAttributeTypeList(boolean follow, boolean withIdentifiers)
3249 {
3250 return this.getSuperEntity().getAttributeTypeList(follow, withIdentifiers);
3251 }
3252
3253 /**
3254 * Gets all attributes of the entity, and optionally retieves the super entities attributes as
3255 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false.
3256 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers)
3257 */
3258 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers)
3259 {
3260 return this.getSuperEntity().getAttributes(follow, withIdentifiers);
3261 }
3262
3263 /**
3264 * Gets all attributes of the entity, and optionally retieves the super entities attributes as
3265 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude
3266 * derived attributes if 'withDerived' is set to false.
3267 * @see Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
3268 */
3269 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
3270 {
3271 return this.getSuperEntity().getAttributes(follow, withIdentifiers, withDerived);
3272 }
3273
3274 /**
3275 * All business operations of the entity, these include any operations that aren't queries.
3276 * @see Entity#getBusinessOperations()
3277 */
3278 public Collection<OperationFacade> getBusinessOperations()
3279 {
3280 return this.getSuperEntity().getBusinessOperations();
3281 }
3282
3283 /**
3284 * Gets any children association ends (i.e. entity association ends that are participants in an
3285 * association with this entity and this entity has composite aggregation defined for those
3286 * associations).
3287 * @see Entity#getChildEnds()
3288 */
3289 public Collection<EntityAssociationEnd> getChildEnds()
3290 {
3291 return this.getSuperEntity().getChildEnds();
3292 }
3293
3294 /**
3295 * The embedded values belonging to this entity.
3296 * @see Entity#getEmbeddedValues()
3297 */
3298 public Collection<AttributeFacade> getEmbeddedValues()
3299 {
3300 return this.getSuperEntity().getEmbeddedValues();
3301 }
3302
3303 /**
3304 * All entities referenced by this entity.
3305 * @see Entity#getEntityReferences()
3306 */
3307 public Collection<DependencyFacade> getEntityReferences()
3308 {
3309 return this.getSuperEntity().getEntityReferences();
3310 }
3311
3312 /**
3313 * The full name of the type of the identifier. If composite identifier add the PK sufix to the
3314 * class name. If not, retorns the fully qualified name of the identifier.
3315 * @see Entity#getFullyQualifiedIdentifierTypeName()
3316 */
3317 public String getFullyQualifiedIdentifierTypeName()
3318 {
3319 return this.getSuperEntity().getFullyQualifiedIdentifierTypeName();
3320 }
3321
3322 /**
3323 * Gets all the associationEnds of this entity marked with the identifiers stereotype.
3324 * @see Entity#getIdentifierAssociationEnds()
3325 */
3326 public Collection<AssociationEndFacade> getIdentifierAssociationEnds()
3327 {
3328 return this.getSuperEntity().getIdentifierAssociationEnds();
3329 }
3330
3331 /**
3332 * The getter name of the identifier.
3333 * @see Entity#getIdentifierGetterName()
3334 */
3335 public String getIdentifierGetterName()
3336 {
3337 return this.getSuperEntity().getIdentifierGetterName();
3338 }
3339
3340 /**
3341 * The name of the identifier. If composite identifier add the Pk suffix. If not composite
3342 * returns the attribute name of the identifier.
3343 * @see Entity#getIdentifierName()
3344 */
3345 public String getIdentifierName()
3346 {
3347 return this.getSuperEntity().getIdentifierName();
3348 }
3349
3350 /**
3351 * The setter name of the identifier.
3352 * @see Entity#getIdentifierSetterName()
3353 */
3354 public String getIdentifierSetterName()
3355 {
3356 return this.getSuperEntity().getIdentifierSetterName();
3357 }
3358
3359 /**
3360 * The name of the type of the identifier. If composite identifier add the PK suffix to the
3361 * class name. If not, returns the name of the identifier.
3362 * @see Entity#getIdentifierTypeName()
3363 */
3364 public String getIdentifierTypeName()
3365 {
3366 return this.getSuperEntity().getIdentifierTypeName();
3367 }
3368
3369 /**
3370 * All the attributes of the entity which make up its identifier (primary key). Will search any
3371 * super classes as well. If no identifiers exist, a default identifier will be created if the
3372 * allowDefaultIdentifiers property is set to true.
3373 * @see Entity#getIdentifiers()
3374 */
3375 public Collection<ModelElementFacade> getIdentifiers()
3376 {
3377 return this.getSuperEntity().getIdentifiers();
3378 }
3379
3380 /**
3381 * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found
3382 * on the entity, a search up the inheritance chain will be performed, and the identifiers from
3383 * the first super class having them will be used. If no identifiers exist, a default
3384 * identifier will be created if the allowDefaultIdentifiers property is set to true.
3385 * Identifiers can be on attributes or associations (composite primary key).
3386 * @see Entity#getIdentifiers(boolean follow)
3387 */
3388 public Collection<ModelElementFacade> getIdentifiers(boolean follow)
3389 {
3390 return this.getSuperEntity().getIdentifiers(follow);
3391 }
3392
3393 /**
3394 * The maximum length a SQL name may be.
3395 * @see Entity#getMaxSqlNameLength()
3396 */
3397 public short getMaxSqlNameLength()
3398 {
3399 return this.getSuperEntity().getMaxSqlNameLength();
3400 }
3401
3402 /**
3403 * Gets the attributes as a list within an operation call, optionally including the type names
3404 * and the identifier attributes.
3405 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers)
3406 */
3407 public String getOperationCallFromAttributes(boolean withIdentifiers)
3408 {
3409 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers);
3410 }
3411
3412 /**
3413 * Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will
3414 * include the type names, if 'withIdentifiers' is true it will include the identifiers. If
3415 * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super
3416 * class as well.
3417 * @see Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
3418 */
3419 public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
3420 {
3421 return this.getSuperEntity().getOperationCallFromAttributes(withIdentifiers, follow);
3422 }
3423
3424 /**
3425 * Returns the parent association end of this entity if its a child entity. The parent is the
3426 * entity that is the participant the association that has composite aggregation defined. Will
3427 * return null if the entity has no parent.
3428 * @see Entity#getParentEnd()
3429 */
3430 public EntityAssociationEnd getParentEnd()
3431 {
3432 return this.getSuperEntity().getParentEnd();
3433 }
3434
3435 /**
3436 * Gets all properties of this entity, this includes the attributes and navigable association
3437 * ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy
3438 * should be followed when getting all the properties. The 'withIdentifiers' flag indicates
3439 * whether or not identifiers should be included in the collection of properties.
3440 * @see Entity#getProperties(boolean follow, boolean withIdentifiers)
3441 */
3442 public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers)
3443 {
3444 return this.getSuperEntity().getProperties(follow, withIdentifiers);
3445 }
3446
3447 /**
3448 * Returns all the operations that can perform queries on the entity.
3449 * @see Entity#getQueryOperations()
3450 */
3451 public Collection<EntityQueryOperation> getQueryOperations()
3452 {
3453 return this.getSuperEntity().getQueryOperations();
3454 }
3455
3456 /**
3457 * Gets all query operations for an entity. If 'follow' is true, and if no query operations can
3458 * be found on the entity, a search up the inheritance chain will be performed, and the
3459 * identifiers from the first super class having them will be used. If no identifiers exist, a
3460 * default identifier will be created if the allowDefaultIdentifiers property is set to true.
3461 * @see Entity#getQueryOperations(boolean follow)
3462 */
3463 public Collection<OperationFacade> getQueryOperations(boolean follow)
3464 {
3465 return this.getSuperEntity().getQueryOperations(follow);
3466 }
3467
3468 /**
3469 * Gets a comma separated list of required attribute names. If 'follow' is true, will travel up
3470 * the inheritance hierarchy to include attributes in parent entities as well. If
3471 * 'withIdentifiers' is true, will include identifiers.
3472 * @see Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
3473 */
3474 public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
3475 {
3476 return this.getSuperEntity().getRequiredAttributeNameList(follow, withIdentifiers);
3477 }
3478
3479 /**
3480 * Gets a comma separated list of attribute types with are required. If 'follow' is true, will
3481 * travel up the inheritance hierarchy to include attributes in parent entities as well. If
3482 * 'withIdentifiers' is true, will include identifiers.
3483 * @see Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
3484 */
3485 public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
3486 {
3487 return this.getSuperEntity().getRequiredAttributeTypeList(follow, withIdentifiers);
3488 }
3489
3490 /**
3491 * Returns all attributes that are specified as 'required' in the model. If 'follow' is true,
3492 * then required attributes in super classes will also be returned, if false, just the ones
3493 * directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will
3494 * be include, if false, no identifiers will be included.
3495 * @see Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers)
3496 */
3497 public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers)
3498 {
3499 return this.getSuperEntity().getRequiredAttributes(follow, withIdentifiers);
3500 }
3501
3502 /**
3503 * Gets all required properties for this entity. These consist of any required attributes as
3504 * well as navigable associations that are marked as 'required'. If 'follow' is true, then the
3505 * inheritance hierchy will be followed and all required properties from super classes will be
3506 * included as well.
3507 * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will
3508 * be included.
3509 * @see Entity#getRequiredProperties(boolean follow, boolean withIdentifiers)
3510 */
3511 public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers)
3512 {
3513 return this.getSuperEntity().getRequiredProperties(follow, withIdentifiers);
3514 }
3515
3516 /**
3517 * Creates a comma separated list of the required property names.
3518 * @see Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
3519 */
3520 public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
3521 {
3522 return this.getSuperEntity().getRequiredPropertyNameList(follow, withIdentifiers);
3523 }
3524
3525 /**
3526 * A comma separated list of the required property types.
3527 * @see Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
3528 */
3529 public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
3530 {
3531 return this.getSuperEntity().getRequiredPropertyTypeList(follow, withIdentifiers);
3532 }
3533
3534 /**
3535 * The name of the schema that contains the database table
3536 * @see Entity#getSchema()
3537 */
3538 public String getSchema()
3539 {
3540 return this.getSuperEntity().getSchema();
3541 }
3542
3543 /**
3544 * The name of the database table to which this entity is persisted.
3545 * @see Entity#getTableName()
3546 */
3547 public String getTableName()
3548 {
3549 return this.getSuperEntity().getTableName();
3550 }
3551
3552 /**
3553 * Returns true/false depending on whether or not this entity represetns a child in an
3554 * association (this occurs when this entity is on the opposite end of an assocation end defined
3555 * as composite).
3556 * @see Entity#isChild()
3557 */
3558 public boolean isChild()
3559 {
3560 return this.getSuperEntity().isChild();
3561 }
3562
3563 /**
3564 * True if this entity identifier is a composite (consists of multiple key columns, typically
3565 * abstracted into an external composite identifier class)
3566 * @see Entity#isCompositeIdentifier()
3567 */
3568 public boolean isCompositeIdentifier()
3569 {
3570 return this.getSuperEntity().isCompositeIdentifier();
3571 }
3572
3573 /**
3574 * True if the entity has its identifiers dynamically added, false otherwise.
3575 * @see Entity#isDynamicIdentifiersPresent()
3576 */
3577 public boolean isDynamicIdentifiersPresent()
3578 {
3579 return this.getSuperEntity().isDynamicIdentifiersPresent();
3580 }
3581
3582 /**
3583 * True if the entity has any identifiers defined, false otherwise.
3584 * @see Entity#isIdentifiersPresent()
3585 */
3586 public boolean isIdentifiersPresent()
3587 {
3588 return this.getSuperEntity().isIdentifiersPresent();
3589 }
3590
3591 /**
3592 * Indiciates if this entity is using an assigned identifier or not.
3593 * @see Entity#isUsingAssignedIdentifier()
3594 */
3595 public boolean isUsingAssignedIdentifier()
3596 {
3597 return this.getSuperEntity().isUsingAssignedIdentifier();
3598 }
3599
3600 /**
3601 * Indicates whether or not this entity is using a foreign identifier as its identifiers. That
3602 * is: the foreignIdentifier flag was set on an incoming association end and the entity is
3603 * therefore using the related foreign parent entity's identifier.
3604 * @see Entity#isUsingForeignIdentifier()
3605 */
3606 public boolean isUsingForeignIdentifier()
3607 {
3608 return this.getSuperEntity().isUsingForeignIdentifier();
3609 }
3610
3611 /**
3612 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set
3613 * to true.
3614 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow)
3615 */
3616 public Object findTaggedValue(String tagName, boolean follow)
3617 {
3618 return this.getSuperEntity().findTaggedValue(tagName, follow);
3619 }
3620
3621 /**
3622 * All generalizations for this generalizable element, goes up the inheritance tree.
3623 * @see GeneralizableElementFacade#getAllGeneralizations()
3624 */
3625 public Collection<GeneralizableElementFacade> getAllGeneralizations()
3626 {
3627 return this.getSuperEntity().getAllGeneralizations();
3628 }
3629
3630 /**
3631 * All specializations (travels down the inheritance hierarchy).
3632 * @see GeneralizableElementFacade#getAllSpecializations()
3633 */
3634 public Collection<GeneralizableElementFacade> getAllSpecializations()
3635 {
3636 return this.getSuperEntity().getAllSpecializations();
3637 }
3638
3639 /**
3640 * Gets the direct generalization for this generalizable element.
3641 * @see GeneralizableElementFacade#getGeneralization()
3642 */
3643 public GeneralizableElementFacade getGeneralization()
3644 {
3645 return this.getSuperEntity().getGeneralization();
3646 }
3647
3648 /**
3649 * Gets the actual links that this generalization element is part of (it plays either the
3650 * specialization or generalization).
3651 * @see GeneralizableElementFacade#getGeneralizationLinks()
3652 */
3653 public Collection<GeneralizationFacade> getGeneralizationLinks()
3654 {
3655 return this.getSuperEntity().getGeneralizationLinks();
3656 }
3657
3658 /**
3659 * A comma separated list of the fully qualified names of all generalizations.
3660 * @see GeneralizableElementFacade#getGeneralizationList()
3661 */
3662 public String getGeneralizationList()
3663 {
3664 return this.getSuperEntity().getGeneralizationList();
3665 }
3666
3667 /**
3668 * The element found when you recursively follow the generalization path up to the root. If an
3669 * element has no generalization itself will be considered the root.
3670 * @see GeneralizableElementFacade#getGeneralizationRoot()
3671 */
3672 public GeneralizableElementFacade getGeneralizationRoot()
3673 {
3674 return this.getSuperEntity().getGeneralizationRoot();
3675 }
3676
3677 /**
3678 * Return all generalizations (ancestors) from this generalizable element.
3679 * @see GeneralizableElementFacade#getGeneralizations()
3680 */
3681 public Collection<GeneralizableElementFacade> getGeneralizations()
3682 {
3683 return this.getSuperEntity().getGeneralizations();
3684 }
3685
3686 /**
3687 * Gets the direct specializations (i.e. sub elements) for this generalizatble element.
3688 * @see GeneralizableElementFacade#getSpecializations()
3689 */
3690 public Collection<GeneralizableElementFacade> getSpecializations()
3691 {
3692 return this.getSuperEntity().getSpecializations();
3693 }
3694
3695 /**
3696 * Copies all tagged values from the given ModelElementFacade to this model element facade.
3697 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
3698 */
3699 public void copyTaggedValues(ModelElementFacade element)
3700 {
3701 this.getSuperEntity().copyTaggedValues(element);
3702 }
3703
3704 /**
3705 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
3706 * one found will be returned.
3707 * @see ModelElementFacade#findTaggedValue(String tagName)
3708 */
3709 public Object findTaggedValue(String tagName)
3710 {
3711 return this.getSuperEntity().findTaggedValue(tagName);
3712 }
3713
3714 /**
3715 * Returns all the values for the tagged value with the specified name. The returned collection
3716 * will contains only String instances, or will be empty. Never null.
3717 * @see ModelElementFacade#findTaggedValues(String tagName)
3718 */
3719 public Collection<Object> findTaggedValues(String tagName)
3720 {
3721 return this.getSuperEntity().findTaggedValues(tagName);
3722 }
3723
3724 /**
3725 * Returns the fully qualified name of the model element. The fully qualified name includes
3726 * complete package qualified name of the underlying model element. The templates parameter will
3727 * be replaced by the correct one given the binding relation of the parameter to this element.
3728 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
3729 */
3730 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
3731 {
3732 return this.getSuperEntity().getBindedFullyQualifiedName(bindedElement);
3733 }
3734
3735 /**
3736 * Gets all constraints belonging to the model element.
3737 * @see ModelElementFacade#getConstraints()
3738 */
3739 public Collection<ConstraintFacade> getConstraints()
3740 {
3741 return this.getSuperEntity().getConstraints();
3742 }
3743
3744 /**
3745 * Returns the constraints of the argument kind that have been placed onto this model. Typical
3746 * kinds are "inv", "pre" and "post". Other kinds are possible.
3747 * @see ModelElementFacade#getConstraints(String kind)
3748 */
3749 public Collection<ConstraintFacade> getConstraints(String kind)
3750 {
3751 return this.getSuperEntity().getConstraints(kind);
3752 }
3753
3754 /**
3755 * Gets the documentation for the model element, The indent argument is prefixed to each line.
3756 * By default this method wraps lines after 64 characters.
3757 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
3758 * @see ModelElementFacade#getDocumentation(String indent)
3759 */
3760 public String getDocumentation(String indent)
3761 {
3762 return this.getSuperEntity().getDocumentation(indent);
3763 }
3764
3765 /**
3766 * This method returns the documentation for this model element, with the lines wrapped after
3767 * the specified number of characters, values of less than 1 will indicate no line wrapping is
3768 * required. By default paragraphs are returned as HTML.
3769 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
3770 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
3771 */
3772 public String getDocumentation(String indent, int lineLength)
3773 {
3774 return this.getSuperEntity().getDocumentation(indent, lineLength);
3775 }
3776
3777 /**
3778 * This method returns the documentation for this model element, with the lines wrapped after
3779 * the specified number of characters, values of less than 1 will indicate no line wrapping is
3780 * required. HTML style determines if HTML Escaping is applied.
3781 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
3782 */
3783 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
3784 {
3785 return this.getSuperEntity().getDocumentation(indent, lineLength, htmlStyle);
3786 }
3787
3788 /**
3789 * The fully qualified name of this model element.
3790 * @see ModelElementFacade#getFullyQualifiedName()
3791 */
3792 public String getFullyQualifiedName()
3793 {
3794 return this.getSuperEntity().getFullyQualifiedName();
3795 }
3796
3797 /**
3798 * Returns the fully qualified name of the model element. The fully qualified name includes
3799 * complete package qualified name of the underlying model element. If modelName is true, then
3800 * the original name of the model element (the name contained within the model) will be the name
3801 * returned, otherwise a name from a language mapping will be returned.
3802 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
3803 */
3804 public String getFullyQualifiedName(boolean modelName)
3805 {
3806 return this.getSuperEntity().getFullyQualifiedName(modelName);
3807 }
3808
3809 /**
3810 * Returns the fully qualified name as a path, the returned value always starts with out a slash
3811 * '/'.
3812 * @see ModelElementFacade#getFullyQualifiedNamePath()
3813 */
3814 public String getFullyQualifiedNamePath()
3815 {
3816 return this.getSuperEntity().getFullyQualifiedNamePath();
3817 }
3818
3819 /**
3820 * Gets the unique identifier of the underlying model element.
3821 * @see ModelElementFacade#getId()
3822 */
3823 public String getId()
3824 {
3825 return this.getSuperEntity().getId();
3826 }
3827
3828 /**
3829 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
3830 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
3831 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
3832 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
3833 * JDK5 compiler level.
3834 * @see ModelElementFacade#getKeywords()
3835 */
3836 public Collection<String> getKeywords()
3837 {
3838 return this.getSuperEntity().getKeywords();
3839 }
3840
3841 /**
3842 * UML2: Retrieves a localized label for this named element.
3843 * @see ModelElementFacade#getLabel()
3844 */
3845 public String getLabel()
3846 {
3847 return this.getSuperEntity().getLabel();
3848 }
3849
3850 /**
3851 * The language mappings that have been set for this model element.
3852 * @see ModelElementFacade#getLanguageMappings()
3853 */
3854 public TypeMappings getLanguageMappings()
3855 {
3856 return this.getSuperEntity().getLanguageMappings();
3857 }
3858
3859 /**
3860 * Return the model containing this model element (multiple models may be loaded and processed
3861 * at the same time).
3862 * @see ModelElementFacade#getModel()
3863 */
3864 public ModelFacade getModel()
3865 {
3866 return this.getSuperEntity().getModel();
3867 }
3868
3869 /**
3870 * The name of the model element.
3871 * @see ModelElementFacade#getName()
3872 */
3873 public String getName()
3874 {
3875 return this.getSuperEntity().getName();
3876 }
3877
3878 /**
3879 * Gets the package to which this model element belongs.
3880 * @see ModelElementFacade#getPackage()
3881 */
3882 public ModelElementFacade getPackage()
3883 {
3884 return this.getSuperEntity().getPackage();
3885 }
3886
3887 /**
3888 * The name of this model element's package.
3889 * @see ModelElementFacade#getPackageName()
3890 */
3891 public String getPackageName()
3892 {
3893 return this.getSuperEntity().getPackageName();
3894 }
3895
3896 /**
3897 * Gets the package name (optionally providing the ability to retrieve the model name and not
3898 * the mapped name).
3899 * @see ModelElementFacade#getPackageName(boolean modelName)
3900 */
3901 public String getPackageName(boolean modelName)
3902 {
3903 return this.getSuperEntity().getPackageName(modelName);
3904 }
3905
3906 /**
3907 * Returns the package as a path, the returned value always starts with out a slash '/'.
3908 * @see ModelElementFacade#getPackagePath()
3909 */
3910 public String getPackagePath()
3911 {
3912 return this.getSuperEntity().getPackagePath();
3913 }
3914
3915 /**
3916 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
3917 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
3918 * the names of the containing namespaces starting at the root of the hierarchy and ending with
3919 * the name of the NamedElement itself.
3920 * @see ModelElementFacade#getQualifiedName()
3921 */
3922 public String getQualifiedName()
3923 {
3924 return this.getSuperEntity().getQualifiedName();
3925 }
3926
3927 /**
3928 * Gets the root package for the model element.
3929 * @see ModelElementFacade#getRootPackage()
3930 */
3931 public PackageFacade getRootPackage()
3932 {
3933 return this.getSuperEntity().getRootPackage();
3934 }
3935
3936 /**
3937 * Gets the dependencies for which this model element is the source.
3938 * @see ModelElementFacade#getSourceDependencies()
3939 */
3940 public Collection<DependencyFacade> getSourceDependencies()
3941 {
3942 return this.getSuperEntity().getSourceDependencies();
3943 }
3944
3945 /**
3946 * If this model element is the context of an activity graph, this represents that activity
3947 * graph.
3948 * @see ModelElementFacade#getStateMachineContext()
3949 */
3950 public StateMachineFacade getStateMachineContext()
3951 {
3952 return this.getSuperEntity().getStateMachineContext();
3953 }
3954
3955 /**
3956 * The collection of ALL stereotype names for this model element.
3957 * @see ModelElementFacade#getStereotypeNames()
3958 */
3959 public Collection<String> getStereotypeNames()
3960 {
3961 return this.getSuperEntity().getStereotypeNames();
3962 }
3963
3964 /**
3965 * Gets all stereotypes for this model element.
3966 * @see ModelElementFacade#getStereotypes()
3967 */
3968 public Collection<StereotypeFacade> getStereotypes()
3969 {
3970 return this.getSuperEntity().getStereotypes();
3971 }
3972
3973 /**
3974 * Return the TaggedValues associated with this model element, under all stereotypes.
3975 * @see ModelElementFacade#getTaggedValues()
3976 */
3977 public Collection<TaggedValueFacade> getTaggedValues()
3978 {
3979 return this.getSuperEntity().getTaggedValues();
3980 }
3981
3982 /**
3983 * Gets the dependencies for which this model element is the target.
3984 * @see ModelElementFacade#getTargetDependencies()
3985 */
3986 public Collection<DependencyFacade> getTargetDependencies()
3987 {
3988 return this.getSuperEntity().getTargetDependencies();
3989 }
3990
3991 /**
3992 * Get the template parameter for this model element having the parameterName
3993 * @see ModelElementFacade#getTemplateParameter(String parameterName)
3994 */
3995 public Object getTemplateParameter(String parameterName)
3996 {
3997 return this.getSuperEntity().getTemplateParameter(parameterName);
3998 }
3999
4000 /**
4001 * Get the template parameters for this model element
4002 * @see ModelElementFacade#getTemplateParameters()
4003 */
4004 public Collection<TemplateParameterFacade> getTemplateParameters()
4005 {
4006 return this.getSuperEntity().getTemplateParameters();
4007 }
4008
4009 /**
4010 * The visibility (i.e. public, private, protected or package) of the model element, will
4011 * attempt a lookup for these values in the language mappings (if any).
4012 * @see ModelElementFacade#getVisibility()
4013 */
4014 public String getVisibility()
4015 {
4016 return this.getSuperEntity().getVisibility();
4017 }
4018
4019 /**
4020 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
4021 * is taken into account when searching for the stereotype), false otherwise.
4022 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
4023 */
4024 public boolean hasExactStereotype(String stereotypeName)
4025 {
4026 return this.getSuperEntity().hasExactStereotype(stereotypeName);
4027 }
4028
4029 /**
4030 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
4031 * pipe, semicolon, or << >>
4032 * @see ModelElementFacade#hasKeyword(String keywordName)
4033 */
4034 public boolean hasKeyword(String keywordName)
4035 {
4036 return this.getSuperEntity().hasKeyword(keywordName);
4037 }
4038
4039 /**
4040 * Returns true if the model element has the specified stereotype. If the stereotype itself
4041 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
4042 * one of the stereotype's ancestors has a matching name this method will return true, false
4043 * otherwise.
4044 * For example, if we have a certain stereotype called <<exception>> and a model element has a
4045 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
4046 * method with 'stereotypeName' defined as 'exception' the method would return true since
4047 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
4048 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
4049 * @see ModelElementFacade#hasStereotype(String stereotypeName)
4050 */
4051 public boolean hasStereotype(String stereotypeName)
4052 {
4053 return this.getSuperEntity().hasStereotype(stereotypeName);
4054 }
4055
4056 /**
4057 * True if there are target dependencies from this element that are instances of BindingFacade.
4058 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
4059 * @see ModelElementFacade#isBindingDependenciesPresent()
4060 */
4061 public boolean isBindingDependenciesPresent()
4062 {
4063 return this.getSuperEntity().isBindingDependenciesPresent();
4064 }
4065
4066 /**
4067 * Indicates if any constraints are present on this model element.
4068 * @see ModelElementFacade#isConstraintsPresent()
4069 */
4070 public boolean isConstraintsPresent()
4071 {
4072 return this.getSuperEntity().isConstraintsPresent();
4073 }
4074
4075 /**
4076 * Indicates if any documentation is present on this model element.
4077 * @see ModelElementFacade#isDocumentationPresent()
4078 */
4079 public boolean isDocumentationPresent()
4080 {
4081 return this.getSuperEntity().isDocumentationPresent();
4082 }
4083
4084 /**
4085 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
4086 * @see ModelElementFacade#isReservedWord()
4087 */
4088 public boolean isReservedWord()
4089 {
4090 return this.getSuperEntity().isReservedWord();
4091 }
4092
4093 /**
4094 * True is there are template parameters on this model element. For UML2, applies to Class,
4095 * Operation, Property, and Parameter.
4096 * @see ModelElementFacade#isTemplateParametersPresent()
4097 */
4098 public boolean isTemplateParametersPresent()
4099 {
4100 return this.getSuperEntity().isTemplateParametersPresent();
4101 }
4102
4103 /**
4104 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
4105 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
4106 * Enumerations and Interfaces, optionally applies on other model elements.
4107 * @see ModelElementFacade#isValidIdentifierName()
4108 */
4109 public boolean isValidIdentifierName()
4110 {
4111 return this.getSuperEntity().isValidIdentifierName();
4112 }
4113
4114 /**
4115 * Searches for the constraint with the specified 'name' on this model element, and if found
4116 * translates it using the specified 'translation' from a translation library discovered by the
4117 * framework.
4118 * @see ModelElementFacade#translateConstraint(String name, String translation)
4119 */
4120 public String translateConstraint(String name, String translation)
4121 {
4122 return this.getSuperEntity().translateConstraint(name, translation);
4123 }
4124
4125 /**
4126 * Translates all constraints belonging to this model element with the given 'translation'.
4127 * @see ModelElementFacade#translateConstraints(String translation)
4128 */
4129 public String[] translateConstraints(String translation)
4130 {
4131 return this.getSuperEntity().translateConstraints(translation);
4132 }
4133
4134 /**
4135 * Translates the constraints of the specified 'kind' belonging to this model element.
4136 * @see ModelElementFacade#translateConstraints(String kind, String translation)
4137 */
4138 public String[] translateConstraints(String kind, String translation)
4139 {
4140 return this.getSuperEntity().translateConstraints(kind, translation);
4141 }
4142
4143 /**
4144 * @see MetafacadeBase#initialize()
4145 */
4146 @Override
4147 public void initialize()
4148 {
4149 this.getSuperEntity().initialize();
4150 }
4151
4152 /**
4153 * @return Object getSuperEntity().getValidationOwner()
4154 * @see MetafacadeBase#getValidationOwner()
4155 */
4156 @Override
4157 public Object getValidationOwner()
4158 {
4159 Object owner = this.getSuperEntity().getValidationOwner();
4160 return owner;
4161 }
4162
4163 /**
4164 * @return String getSuperEntity().getValidationName()
4165 * @see MetafacadeBase#getValidationName()
4166 */
4167 @Override
4168 public String getValidationName()
4169 {
4170 String name = this.getSuperEntity().getValidationName();
4171 return name;
4172 }
4173
4174 /**
4175 * <p><b>Constraint:</b> org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses</p>
4176 * <p><b>Error:</b> Entities can only generalize other entities or mapped superclasses.</p>
4177 * <p><b>OCL:</b> context EJB3EntityFacade
4178 inv: generalization -> notEmpty()
4179 implies (generalization.oclIsKindOf(EJB3EntityFacade) or generalization.oclIsKindOf(EJB3MappedSuperclassFacade))</p>
4180 * @param validationMessages Collection<ModelValidationMessage>
4181 * @see MetafacadeBase#validateInvariants(Collection validationMessages)
4182 */
4183 @Override
4184 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
4185 {
4186 this.getSuperEntity().validateInvariants(validationMessages);
4187 try
4188 {
4189 final Object contextElement = this.THIS();
4190 boolean constraintValid = OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(OCLCollections.notEmpty(OCLIntrospector.invoke(contextElement,"generalization")))).booleanValue()?(OCLIntrospector.invoke(contextElement,"generalization") instanceof EJB3EntityFacade||OCLIntrospector.invoke(contextElement,"generalization") instanceof EJB3MappedSuperclassFacade):true));
4191 if (!constraintValid)
4192 {
4193 validationMessages.add(
4194 new ModelValidationMessage(
4195 (MetafacadeBase)contextElement ,
4196 "org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses",
4197 "Entities can only generalize other entities or mapped superclasses."));
4198 }
4199 }
4200 catch (Throwable th)
4201 {
4202 Throwable cause = th.getCause();
4203 int depth = 0; // Some throwables have infinite recursion
4204 while (cause != null && depth < 7)
4205 {
4206 th = cause;
4207 depth++;
4208 }
4209 logger.error("Error validating constraint 'org::andromda::cartridges::ejb3::metafacades::EJB3EntityFacade::entities can only generalize other entities or mapped superclasses' ON "
4210 + this.THIS().toString() + ": " + th.getMessage(), th);
4211 }
4212 }
4213
4214 /**
4215 * The property that stores the name of the metafacade.
4216 */
4217 private static final String NAME_PROPERTY = "name";
4218 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
4219
4220 /**
4221 * @see Object#toString()
4222 */
4223 @Override
4224 public String toString()
4225 {
4226 final StringBuilder toString = new StringBuilder(this.getClass().getName());
4227 toString.append("[");
4228 try
4229 {
4230 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
4231 }
4232 catch (final Throwable tryAgain)
4233 {
4234 try
4235 {
4236 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
4237 }
4238 catch (final Throwable ignore)
4239 {
4240 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
4241 }
4242 }
4243 toString.append("]");
4244 return toString.toString();
4245 }
4246 }