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.ActorFacade;
14 import org.andromda.metafacades.uml.AssociationEndFacade;
15 import org.andromda.metafacades.uml.AttributeFacade;
16 import org.andromda.metafacades.uml.ClassifierFacade;
17 import org.andromda.metafacades.uml.ConstraintFacade;
18 import org.andromda.metafacades.uml.DependencyFacade;
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.ManageableEntity;
24 import org.andromda.metafacades.uml.ManageableEntityAssociationEnd;
25 import org.andromda.metafacades.uml.ManageableEntityAttribute;
26 import org.andromda.metafacades.uml.ModelElementFacade;
27 import org.andromda.metafacades.uml.ModelFacade;
28 import org.andromda.metafacades.uml.OperationFacade;
29 import org.andromda.metafacades.uml.PackageFacade;
30 import org.andromda.metafacades.uml.Role;
31 import org.andromda.metafacades.uml.StateMachineFacade;
32 import org.andromda.metafacades.uml.StereotypeFacade;
33 import org.andromda.metafacades.uml.TaggedValueFacade;
34 import org.andromda.metafacades.uml.TemplateParameterFacade;
35 import org.andromda.metafacades.uml.TypeMappings;
36
37 /**
38 * TODO: Model Documentation for org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade
39 * MetafacadeLogic for EJB3ManageableEntityFacade
40 *
41 * @see EJB3ManageableEntityFacade
42 */
43 public abstract class EJB3ManageableEntityFacadeLogic
44 extends MetafacadeBase
45 implements EJB3ManageableEntityFacade
46 {
47 /**
48 * The underlying UML object
49 * @see Object
50 */
51 protected Object metaObject;
52
53 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
54 * @param metaObjectIn
55 * @param context
56 */
57 protected EJB3ManageableEntityFacadeLogic(Object metaObjectIn, String context)
58 {
59 super(metaObjectIn, getContext(context));
60 this.superEJB3EntityFacade =
61 (EJB3EntityFacade)
62 MetafacadeFactory.getInstance().createFacadeImpl(
63 "org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade",
64 metaObjectIn,
65 getContext(context));
66 this.superManageableEntity =
67 (ManageableEntity)
68 MetafacadeFactory.getInstance().createFacadeImpl(
69 "org.andromda.metafacades.uml.ManageableEntity",
70 metaObjectIn,
71 getContext(context));
72 this.metaObject = metaObjectIn;
73 }
74
75 /**
76 * Gets the context for this metafacade logic instance.
77 * @param context String. Set to EJB3ManageableEntityFacade 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.EJB3ManageableEntityFacade";
85 }
86 return context;
87 }
88
89 private EJB3EntityFacade superEJB3EntityFacade;
90 private boolean superEJB3EntityFacadeInitialized = false;
91
92 /**
93 * Gets the EJB3EntityFacade parent instance.
94 * @return this.superEJB3EntityFacade EJB3EntityFacade
95 */
96 protected EJB3EntityFacade getSuperEJB3EntityFacade()
97 {
98 if (!this.superEJB3EntityFacadeInitialized)
99 {
100 ((MetafacadeBase)this.superEJB3EntityFacade).setMetafacadeContext(this.getMetafacadeContext());
101 this.superEJB3EntityFacadeInitialized = true;
102 }
103 return this.superEJB3EntityFacade;
104 }
105
106 private ManageableEntity superManageableEntity;
107 private boolean superManageableEntityInitialized = false;
108
109 /**
110 * Gets the ManageableEntity parent instance.
111 * @return this.superManageableEntity ManageableEntity
112 */
113 protected ManageableEntity getSuperManageableEntity()
114 {
115 if (!this.superManageableEntityInitialized)
116 {
117 ((MetafacadeBase)this.superManageableEntity).setMetafacadeContext(this.getMetafacadeContext());
118 this.superManageableEntityInitialized = true;
119 }
120 return this.superManageableEntity;
121 }
122
123 /** Reset context only for non-root metafacades
124 * @param context
125 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
126 */
127 @Override
128 public void resetMetafacadeContext(String context)
129 {
130 if (!this.contextRoot) // reset context only for non-root metafacades
131 {
132 context = getContext(context); // to have same value as in original constructor call
133 setMetafacadeContext (context);
134 if (this.superEJB3EntityFacadeInitialized)
135 {
136 ((MetafacadeBase)this.superEJB3EntityFacade).resetMetafacadeContext(context);
137 }
138 if (this.superManageableEntityInitialized)
139 {
140 ((MetafacadeBase)this.superManageableEntity).resetMetafacadeContext(context);
141 }
142 }
143 }
144
145 /**
146 * @return boolean true always
147 * @see EJB3ManageableEntityFacade
148 */
149 public boolean isEJB3ManageableEntityFacadeMetaType()
150 {
151 return true;
152 }
153
154 // --------------- attributes ---------------------
155
156 /**
157 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getFullyQualifiedManageableServiceCreateExceptionName()
158 * @return String
159 */
160 protected abstract String handleGetFullyQualifiedManageableServiceCreateExceptionName();
161
162 private String __fullyQualifiedManageableServiceCreateExceptionName1a;
163 private boolean __fullyQualifiedManageableServiceCreateExceptionName1aSet = false;
164
165 /**
166 * Returns the fully qualified name of the application create exception.
167 * @return (String)handleGetFullyQualifiedManageableServiceCreateExceptionName()
168 */
169 public final String getFullyQualifiedManageableServiceCreateExceptionName()
170 {
171 String fullyQualifiedManageableServiceCreateExceptionName1a = this.__fullyQualifiedManageableServiceCreateExceptionName1a;
172 if (!this.__fullyQualifiedManageableServiceCreateExceptionName1aSet)
173 {
174 // fullyQualifiedManageableServiceCreateExceptionName has no pre constraints
175 fullyQualifiedManageableServiceCreateExceptionName1a = handleGetFullyQualifiedManageableServiceCreateExceptionName();
176 // fullyQualifiedManageableServiceCreateExceptionName has no post constraints
177 this.__fullyQualifiedManageableServiceCreateExceptionName1a = fullyQualifiedManageableServiceCreateExceptionName1a;
178 if (isMetafacadePropertyCachingEnabled())
179 {
180 this.__fullyQualifiedManageableServiceCreateExceptionName1aSet = true;
181 }
182 }
183 return fullyQualifiedManageableServiceCreateExceptionName1a;
184 }
185
186 /**
187 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getFullyQualifiedManageableServiceReadExceptionName()
188 * @return String
189 */
190 protected abstract String handleGetFullyQualifiedManageableServiceReadExceptionName();
191
192 private String __fullyQualifiedManageableServiceReadExceptionName2a;
193 private boolean __fullyQualifiedManageableServiceReadExceptionName2aSet = false;
194
195 /**
196 * Returns the fully qualified name of the application read exception.
197 * @return (String)handleGetFullyQualifiedManageableServiceReadExceptionName()
198 */
199 public final String getFullyQualifiedManageableServiceReadExceptionName()
200 {
201 String fullyQualifiedManageableServiceReadExceptionName2a = this.__fullyQualifiedManageableServiceReadExceptionName2a;
202 if (!this.__fullyQualifiedManageableServiceReadExceptionName2aSet)
203 {
204 // fullyQualifiedManageableServiceReadExceptionName has no pre constraints
205 fullyQualifiedManageableServiceReadExceptionName2a = handleGetFullyQualifiedManageableServiceReadExceptionName();
206 // fullyQualifiedManageableServiceReadExceptionName has no post constraints
207 this.__fullyQualifiedManageableServiceReadExceptionName2a = fullyQualifiedManageableServiceReadExceptionName2a;
208 if (isMetafacadePropertyCachingEnabled())
209 {
210 this.__fullyQualifiedManageableServiceReadExceptionName2aSet = true;
211 }
212 }
213 return fullyQualifiedManageableServiceReadExceptionName2a;
214 }
215
216 /**
217 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getFullyQualifiedManageableServiceUpdateExceptionName()
218 * @return String
219 */
220 protected abstract String handleGetFullyQualifiedManageableServiceUpdateExceptionName();
221
222 private String __fullyQualifiedManageableServiceUpdateExceptionName3a;
223 private boolean __fullyQualifiedManageableServiceUpdateExceptionName3aSet = false;
224
225 /**
226 * Returns the fully qualified update application exception name.
227 * @return (String)handleGetFullyQualifiedManageableServiceUpdateExceptionName()
228 */
229 public final String getFullyQualifiedManageableServiceUpdateExceptionName()
230 {
231 String fullyQualifiedManageableServiceUpdateExceptionName3a = this.__fullyQualifiedManageableServiceUpdateExceptionName3a;
232 if (!this.__fullyQualifiedManageableServiceUpdateExceptionName3aSet)
233 {
234 // fullyQualifiedManageableServiceUpdateExceptionName has no pre constraints
235 fullyQualifiedManageableServiceUpdateExceptionName3a = handleGetFullyQualifiedManageableServiceUpdateExceptionName();
236 // fullyQualifiedManageableServiceUpdateExceptionName has no post constraints
237 this.__fullyQualifiedManageableServiceUpdateExceptionName3a = fullyQualifiedManageableServiceUpdateExceptionName3a;
238 if (isMetafacadePropertyCachingEnabled())
239 {
240 this.__fullyQualifiedManageableServiceUpdateExceptionName3aSet = true;
241 }
242 }
243 return fullyQualifiedManageableServiceUpdateExceptionName3a;
244 }
245
246 /**
247 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getFullyQualifiedManageableServiceDeleteExceptionName()
248 * @return String
249 */
250 protected abstract String handleGetFullyQualifiedManageableServiceDeleteExceptionName();
251
252 private String __fullyQualifiedManageableServiceDeleteExceptionName4a;
253 private boolean __fullyQualifiedManageableServiceDeleteExceptionName4aSet = false;
254
255 /**
256 * Returns the fully qualified delete application exception name.
257 * @return (String)handleGetFullyQualifiedManageableServiceDeleteExceptionName()
258 */
259 public final String getFullyQualifiedManageableServiceDeleteExceptionName()
260 {
261 String fullyQualifiedManageableServiceDeleteExceptionName4a = this.__fullyQualifiedManageableServiceDeleteExceptionName4a;
262 if (!this.__fullyQualifiedManageableServiceDeleteExceptionName4aSet)
263 {
264 // fullyQualifiedManageableServiceDeleteExceptionName has no pre constraints
265 fullyQualifiedManageableServiceDeleteExceptionName4a = handleGetFullyQualifiedManageableServiceDeleteExceptionName();
266 // fullyQualifiedManageableServiceDeleteExceptionName has no post constraints
267 this.__fullyQualifiedManageableServiceDeleteExceptionName4a = fullyQualifiedManageableServiceDeleteExceptionName4a;
268 if (isMetafacadePropertyCachingEnabled())
269 {
270 this.__fullyQualifiedManageableServiceDeleteExceptionName4aSet = true;
271 }
272 }
273 return fullyQualifiedManageableServiceDeleteExceptionName4a;
274 }
275
276 /**
277 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getJndiNamePrefix()
278 * @return String
279 */
280 protected abstract String handleGetJndiNamePrefix();
281
282 private String __jndiNamePrefix5a;
283 private boolean __jndiNamePrefix5aSet = false;
284
285 /**
286 * Returns the JNDI name prefix for this menageable session bean. This is set using the
287 * jndiNamePrefix namespace property and is commonly the ear file name excluding the extension
288 * for the EJB3 cartridge. The JNDI name prefix is applied like so:
289 * jndiPrefix/EJBName/Remote
290 * @return (String)handleGetJndiNamePrefix()
291 */
292 public final String getJndiNamePrefix()
293 {
294 String jndiNamePrefix5a = this.__jndiNamePrefix5a;
295 if (!this.__jndiNamePrefix5aSet)
296 {
297 // jndiNamePrefix has no pre constraints
298 jndiNamePrefix5a = handleGetJndiNamePrefix();
299 // jndiNamePrefix has no post constraints
300 this.__jndiNamePrefix5a = jndiNamePrefix5a;
301 if (isMetafacadePropertyCachingEnabled())
302 {
303 this.__jndiNamePrefix5aSet = true;
304 }
305 }
306 return jndiNamePrefix5a;
307 }
308
309 /**
310 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceBaseName()
311 * @return String
312 */
313 protected abstract String handleGetManageableServiceBaseName();
314
315 private String __manageableServiceBaseName6a;
316 private boolean __manageableServiceBaseName6aSet = false;
317
318 /**
319 * Returns the manageable service base class name. This is the manageable session bean
320 * containing the CRUD implementation.
321 * @return (String)handleGetManageableServiceBaseName()
322 */
323 public final String getManageableServiceBaseName()
324 {
325 String manageableServiceBaseName6a = this.__manageableServiceBaseName6a;
326 if (!this.__manageableServiceBaseName6aSet)
327 {
328 // manageableServiceBaseName has no pre constraints
329 manageableServiceBaseName6a = handleGetManageableServiceBaseName();
330 // manageableServiceBaseName has no post constraints
331 this.__manageableServiceBaseName6a = manageableServiceBaseName6a;
332 if (isMetafacadePropertyCachingEnabled())
333 {
334 this.__manageableServiceBaseName6aSet = true;
335 }
336 }
337 return manageableServiceBaseName6a;
338 }
339
340 /**
341 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceBaseFullPath()
342 * @return String
343 */
344 protected abstract String handleGetManageableServiceBaseFullPath();
345
346 private String __manageableServiceBaseFullPath7a;
347 private boolean __manageableServiceBaseFullPath7aSet = false;
348
349 /**
350 * Returns the manageable service base class fully qualified path used to set the template
351 * generated file.
352 * @return (String)handleGetManageableServiceBaseFullPath()
353 */
354 public final String getManageableServiceBaseFullPath()
355 {
356 String manageableServiceBaseFullPath7a = this.__manageableServiceBaseFullPath7a;
357 if (!this.__manageableServiceBaseFullPath7aSet)
358 {
359 // manageableServiceBaseFullPath has no pre constraints
360 manageableServiceBaseFullPath7a = handleGetManageableServiceBaseFullPath();
361 // manageableServiceBaseFullPath has no post constraints
362 this.__manageableServiceBaseFullPath7a = manageableServiceBaseFullPath7a;
363 if (isMetafacadePropertyCachingEnabled())
364 {
365 this.__manageableServiceBaseFullPath7aSet = true;
366 }
367 }
368 return manageableServiceBaseFullPath7a;
369 }
370
371 /**
372 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getFullyQualifiedManageableServiceBaseName()
373 * @return String
374 */
375 protected abstract String handleGetFullyQualifiedManageableServiceBaseName();
376
377 private String __fullyQualifiedManageableServiceBaseName8a;
378 private boolean __fullyQualifiedManageableServiceBaseName8aSet = false;
379
380 /**
381 * Returns the fully qualified manageable service base class name that contains the
382 * implementation.
383 * @return (String)handleGetFullyQualifiedManageableServiceBaseName()
384 */
385 public final String getFullyQualifiedManageableServiceBaseName()
386 {
387 String fullyQualifiedManageableServiceBaseName8a = this.__fullyQualifiedManageableServiceBaseName8a;
388 if (!this.__fullyQualifiedManageableServiceBaseName8aSet)
389 {
390 // fullyQualifiedManageableServiceBaseName has no pre constraints
391 fullyQualifiedManageableServiceBaseName8a = handleGetFullyQualifiedManageableServiceBaseName();
392 // fullyQualifiedManageableServiceBaseName has no post constraints
393 this.__fullyQualifiedManageableServiceBaseName8a = fullyQualifiedManageableServiceBaseName8a;
394 if (isMetafacadePropertyCachingEnabled())
395 {
396 this.__fullyQualifiedManageableServiceBaseName8aSet = true;
397 }
398 }
399 return fullyQualifiedManageableServiceBaseName8a;
400 }
401
402 /**
403 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceCreateExceptionName()
404 * @return String
405 */
406 protected abstract String handleGetManageableServiceCreateExceptionName();
407
408 private String __manageableServiceCreateExceptionName9a;
409 private boolean __manageableServiceCreateExceptionName9aSet = false;
410
411 /**
412 * Returns the manageable service create exception name.
413 * @return (String)handleGetManageableServiceCreateExceptionName()
414 */
415 public final String getManageableServiceCreateExceptionName()
416 {
417 String manageableServiceCreateExceptionName9a = this.__manageableServiceCreateExceptionName9a;
418 if (!this.__manageableServiceCreateExceptionName9aSet)
419 {
420 // manageableServiceCreateExceptionName has no pre constraints
421 manageableServiceCreateExceptionName9a = handleGetManageableServiceCreateExceptionName();
422 // manageableServiceCreateExceptionName has no post constraints
423 this.__manageableServiceCreateExceptionName9a = manageableServiceCreateExceptionName9a;
424 if (isMetafacadePropertyCachingEnabled())
425 {
426 this.__manageableServiceCreateExceptionName9aSet = true;
427 }
428 }
429 return manageableServiceCreateExceptionName9a;
430 }
431
432 /**
433 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceReadExceptionName()
434 * @return String
435 */
436 protected abstract String handleGetManageableServiceReadExceptionName();
437
438 private String __manageableServiceReadExceptionName10a;
439 private boolean __manageableServiceReadExceptionName10aSet = false;
440
441 /**
442 * Returns the manageable service read exception name.
443 * @return (String)handleGetManageableServiceReadExceptionName()
444 */
445 public final String getManageableServiceReadExceptionName()
446 {
447 String manageableServiceReadExceptionName10a = this.__manageableServiceReadExceptionName10a;
448 if (!this.__manageableServiceReadExceptionName10aSet)
449 {
450 // manageableServiceReadExceptionName has no pre constraints
451 manageableServiceReadExceptionName10a = handleGetManageableServiceReadExceptionName();
452 // manageableServiceReadExceptionName has no post constraints
453 this.__manageableServiceReadExceptionName10a = manageableServiceReadExceptionName10a;
454 if (isMetafacadePropertyCachingEnabled())
455 {
456 this.__manageableServiceReadExceptionName10aSet = true;
457 }
458 }
459 return manageableServiceReadExceptionName10a;
460 }
461
462 /**
463 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceUpdateExceptionName()
464 * @return String
465 */
466 protected abstract String handleGetManageableServiceUpdateExceptionName();
467
468 private String __manageableServiceUpdateExceptionName11a;
469 private boolean __manageableServiceUpdateExceptionName11aSet = false;
470
471 /**
472 * Returns the manageable service update exception name.
473 * @return (String)handleGetManageableServiceUpdateExceptionName()
474 */
475 public final String getManageableServiceUpdateExceptionName()
476 {
477 String manageableServiceUpdateExceptionName11a = this.__manageableServiceUpdateExceptionName11a;
478 if (!this.__manageableServiceUpdateExceptionName11aSet)
479 {
480 // manageableServiceUpdateExceptionName has no pre constraints
481 manageableServiceUpdateExceptionName11a = handleGetManageableServiceUpdateExceptionName();
482 // manageableServiceUpdateExceptionName has no post constraints
483 this.__manageableServiceUpdateExceptionName11a = manageableServiceUpdateExceptionName11a;
484 if (isMetafacadePropertyCachingEnabled())
485 {
486 this.__manageableServiceUpdateExceptionName11aSet = true;
487 }
488 }
489 return manageableServiceUpdateExceptionName11a;
490 }
491
492 /**
493 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableServiceDeleteExceptionName()
494 * @return String
495 */
496 protected abstract String handleGetManageableServiceDeleteExceptionName();
497
498 private String __manageableServiceDeleteExceptionName12a;
499 private boolean __manageableServiceDeleteExceptionName12aSet = false;
500
501 /**
502 * Returns the manageable service delete exception name.
503 * @return (String)handleGetManageableServiceDeleteExceptionName()
504 */
505 public final String getManageableServiceDeleteExceptionName()
506 {
507 String manageableServiceDeleteExceptionName12a = this.__manageableServiceDeleteExceptionName12a;
508 if (!this.__manageableServiceDeleteExceptionName12aSet)
509 {
510 // manageableServiceDeleteExceptionName has no pre constraints
511 manageableServiceDeleteExceptionName12a = handleGetManageableServiceDeleteExceptionName();
512 // manageableServiceDeleteExceptionName has no post constraints
513 this.__manageableServiceDeleteExceptionName12a = manageableServiceDeleteExceptionName12a;
514 if (isMetafacadePropertyCachingEnabled())
515 {
516 this.__manageableServiceDeleteExceptionName12aSet = true;
517 }
518 }
519 return manageableServiceDeleteExceptionName12a;
520 }
521
522 /**
523 * @see org.andromda.cartridges.ejb3.metafacades.EJB3ManageableEntityFacade#getManageableRolesAllowed()
524 * @return String
525 */
526 protected abstract String handleGetManageableRolesAllowed();
527
528 private String __manageableRolesAllowed13a;
529 private boolean __manageableRolesAllowed13aSet = false;
530
531 /**
532 * Returns the comma separated list of roles which are used to secure manageable service beans.
533 * @return (String)handleGetManageableRolesAllowed()
534 */
535 public final String getManageableRolesAllowed()
536 {
537 String manageableRolesAllowed13a = this.__manageableRolesAllowed13a;
538 if (!this.__manageableRolesAllowed13aSet)
539 {
540 // manageableRolesAllowed has no pre constraints
541 manageableRolesAllowed13a = handleGetManageableRolesAllowed();
542 // manageableRolesAllowed has no post constraints
543 this.__manageableRolesAllowed13a = manageableRolesAllowed13a;
544 if (isMetafacadePropertyCachingEnabled())
545 {
546 this.__manageableRolesAllowed13aSet = true;
547 }
548 }
549 return manageableRolesAllowed13a;
550 }
551
552 /**
553 * @return true
554 * @see EJB3EntityFacade
555 */
556 public boolean isEJB3EntityFacadeMetaType()
557 {
558 return true;
559 }
560
561 /**
562 * @return true
563 * @see ManageableEntity
564 */
565 public boolean isManageableEntityMetaType()
566 {
567 return true;
568 }
569
570 /**
571 * @return true
572 * @see org.andromda.metafacades.uml.Entity
573 */
574 public boolean isEntityMetaType()
575 {
576 return true;
577 }
578
579 /**
580 * @return true
581 * @see ClassifierFacade
582 */
583 public boolean isClassifierFacadeMetaType()
584 {
585 return true;
586 }
587
588 /**
589 * @return true
590 * @see GeneralizableElementFacade
591 */
592 public boolean isGeneralizableElementFacadeMetaType()
593 {
594 return true;
595 }
596
597 /**
598 * @return true
599 * @see ModelElementFacade
600 */
601 public boolean isModelElementFacadeMetaType()
602 {
603 return true;
604 }
605
606 // ----------- delegates to EJB3EntityFacade ------------
607 /**
608 * Find all associations that define relations to other entities.
609 * This method returns the source association ends for all associations that define
610 * a container managed relation. The returned collection includes both
611 * direct relations and inherited relations. A direct relation is an association with some other
612 * class matching the following criteria: 1) The class at the other side of the association is
613 * stereotyped <<Entity>> 2) The association is navigable from to the other side.
614 * An inherited relation is an association from an abstract super type matching the following
615 * criteria: 1) The inheritance path to this abstract super type, including this super type
616 * itself, consists only of abstract classes with stereotype <<Entity>> 2) The class at the
617 * other side of the association is stereotyped <<Entity>>. 3) The association is navigable from
618 * this abstract super type to the other side.
619 * Relations must match the following integrity constraint:
620 * - The <<Entity>> at the target end is not abstract.
621 * The integrity constraint is necessary because the target of a container managed relation in
622 * the EJB framework must be a concrete entity bean; there is no such thing as an
623 * "abstract entity bean" in the EJB specification. It is possible, however, to generate and
624 * compile code for this case, an error will only show up at deploy time. In order to catch
625 * this kind of error at the earliest possible stage, this method checks the integrity
626 * constraint and throws an exception if it is violated.
627 * @see EJB3EntityFacade#getAllEntityRelations()
628 */
629 public Collection getAllEntityRelations()
630 {
631 return this.getSuperEJB3EntityFacade().getAllEntityRelations();
632 }
633
634 /**
635 * All instanceAttributes for this entity. The list includes the instanceAttributes that are
636 * inherited from super classes. The list contains the inherited instanceAttributes first,
637 * followed by the instanceAttributes defined in this class.
638 * @see EJB3EntityFacade#getAllInstanceAttributes()
639 */
640 public List getAllInstanceAttributes()
641 {
642 return this.getSuperEJB3EntityFacade().getAllInstanceAttributes();
643 }
644
645 /**
646 * Returns all value object references (this includes all those that are inherited from any
647 * parent entities)
648 * @see EJB3EntityFacade#getAllValueObjectReferences()
649 */
650 public Collection<DependencyFacade> getAllValueObjectReferences()
651 {
652 return this.getSuperEJB3EntityFacade().getAllValueObjectReferences();
653 }
654
655 /**
656 * Create a comma separated list of attributes. This method can be used to generate argument
657 * lists for constructors, method calls etc. It will not return attributes tagged to be
658 * optimistic lock values. It will consider LOB attributes where the LOB type has been
659 * overridden using the @androma.persistence.lob.type tagged value.
660 * @see EJB3EntityFacade#getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers)
661 */
662 public String getAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames, boolean includeAutoIdentifiers)
663 {
664 return this.getSuperEJB3EntityFacade().getAttributesAsList(attributes, includeTypes, includeNames, includeAutoIdentifiers);
665 }
666
667 /**
668 * Provides the cache policy for the entity.
669 * Posible values are NONE, READ_WRITE, NONSTRICT_READ_WRITE, READ_ONLY, TRANSACTIONAL.
670 * @see EJB3EntityFacade#getCacheType()
671 */
672 public String getCacheType()
673 {
674 return this.getSuperEJB3EntityFacade().getCacheType();
675 }
676
677 /**
678 * Gets all constants for this entity. Constants are defined as static read-only attributes
679 * which do NOT have the <<EnvEntry>> stereotype. If 'follow' is true, then the inheritance
680 * hierarchy will be followed and we'll retrieve all constants from any super types as well.
681 * @see EJB3EntityFacade#getConstants(boolean follow)
682 */
683 public Collection getConstants(boolean follow)
684 {
685 return this.getSuperEJB3EntityFacade().getConstants(follow);
686 }
687
688 /**
689 * Gets create methods for the entity. If 'follow'l is set to true, create methods from any
690 * super types will also be retrieved by following up the inheritance chain.
691 * @see EJB3EntityFacade#getCreateMethods(boolean follow)
692 */
693 public Collection getCreateMethods(boolean follow)
694 {
695 return this.getSuperEJB3EntityFacade().getCreateMethods(follow);
696 }
697
698 /**
699 * The DAO base class name. This is the abstract DAO that containsCRUD operations as well as
700 * any generated finders defined on an entity.
701 * @see EJB3EntityFacade#getDaoBaseName()
702 */
703 public String getDaoBaseName()
704 {
705 return this.getSuperEJB3EntityFacade().getDaoBaseName();
706 }
707
708 /**
709 * The business operations modeled on the entity that will be generated on the DAO (Data Access
710 * Object).
711 * @see EJB3EntityFacade#getDaoBusinessOperations()
712 */
713 public Collection<EJB3OperationFacade> getDaoBusinessOperations()
714 {
715 return this.getSuperEJB3EntityFacade().getDaoBusinessOperations();
716 }
717
718 /**
719 * Returns the default DAO exception name.
720 * @see EJB3EntityFacade#getDaoDefaultExceptionName()
721 */
722 public String getDaoDefaultExceptionName()
723 {
724 return this.getSuperEJB3EntityFacade().getDaoDefaultExceptionName();
725 }
726
727 /**
728 * The DAO implementation class name.
729 * @see EJB3EntityFacade#getDaoImplementationName()
730 */
731 public String getDaoImplementationName()
732 {
733 return this.getSuperEJB3EntityFacade().getDaoImplementationName();
734 }
735
736 /**
737 * The name of the DAO for the specified entity.
738 * @see EJB3EntityFacade#getDaoName()
739 */
740 public String getDaoName()
741 {
742 return this.getSuperEJB3EntityFacade().getDaoName();
743 }
744
745 /**
746 * The constant name denoting no transformation is to be applied.
747 * @see EJB3EntityFacade#getDaoNoTransformationConstantName()
748 */
749 public String getDaoNoTransformationConstantName()
750 {
751 return this.getSuperEJB3EntityFacade().getDaoNoTransformationConstantName();
752 }
753
754 /**
755 * Returns the default entity cascadable property attribute looked up in the namespace
756 * descriptor.
757 * @see EJB3EntityFacade#getDefaultCascadeType()
758 */
759 public String getDefaultCascadeType()
760 {
761 return this.getSuperEJB3EntityFacade().getDefaultCascadeType();
762 }
763
764 /**
765 * Returns the default persistence context unit name for the injected EntityManger for the
766 * DAO/Manageable service beans. It is derived from the persistenceContextUnitName namespace
767 * property.
768 * @see EJB3EntityFacade#getDefaultPersistenceContextUnitName()
769 */
770 public String getDefaultPersistenceContextUnitName()
771 {
772 return this.getSuperEJB3EntityFacade().getDefaultPersistenceContextUnitName();
773 }
774
775 /**
776 * The name of the discriminator column. Default is TYPE if this is missing.
777 * @see EJB3EntityFacade#getDiscriminatorColumn()
778 */
779 public String getDiscriminatorColumn()
780 {
781 return this.getSuperEJB3EntityFacade().getDiscriminatorColumn();
782 }
783
784 /**
785 * The SQL used when generating the DDL for the discriminator column.
786 * @see EJB3EntityFacade#getDiscriminatorColumnDefinition()
787 */
788 public String getDiscriminatorColumnDefinition()
789 {
790 return this.getSuperEJB3EntityFacade().getDiscriminatorColumnDefinition();
791 }
792
793 /**
794 * The standard length of a discriminator value. Default is 10.
795 * @see EJB3EntityFacade#getDiscriminatorLength()
796 */
797 public int getDiscriminatorLength()
798 {
799 return this.getSuperEJB3EntityFacade().getDiscriminatorLength();
800 }
801
802 /**
803 * The type of the entity discriminator column. Default is STRING.
804 * @see EJB3EntityFacade#getDiscriminatorType()
805 */
806 public String getDiscriminatorType()
807 {
808 return this.getSuperEJB3EntityFacade().getDiscriminatorType();
809 }
810
811 /**
812 * The value indicating the row in an entity of the annotated entity type.
813 * @see EJB3EntityFacade#getDiscriminatorValue()
814 */
815 public String getDiscriminatorValue()
816 {
817 return this.getSuperEJB3EntityFacade().getDiscriminatorValue();
818 }
819
820 /**
821 * Entity composite primary key class name for this entity.
822 * @see EJB3EntityFacade#getEntityCompositePrimaryKeyName()
823 */
824 public String getEntityCompositePrimaryKeyName()
825 {
826 return this.getSuperEJB3EntityFacade().getEntityCompositePrimaryKeyName();
827 }
828
829 /**
830 * Entity embeddable super class name this entity inherits from.
831 * @see EJB3EntityFacade#getEntityEmbeddableName()
832 */
833 public String getEntityEmbeddableName()
834 {
835 return this.getSuperEJB3EntityFacade().getEntityEmbeddableName();
836 }
837
838 /**
839 * The name of the implementation class.
840 * @see EJB3EntityFacade#getEntityImplementationName()
841 */
842 public String getEntityImplementationName()
843 {
844 return this.getSuperEJB3EntityFacade().getEntityImplementationName();
845 }
846
847 /**
848 * Entity listener class name for callback methods.
849 * @see EJB3EntityFacade#getEntityListenerName()
850 */
851 public String getEntityListenerName()
852 {
853 return this.getSuperEJB3EntityFacade().getEntityListenerName();
854 }
855
856 /**
857 * The named used for the EJB3 entity.
858 * @see EJB3EntityFacade#getEntityName()
859 */
860 public String getEntityName()
861 {
862 return this.getSuperEJB3EntityFacade().getEntityName();
863 }
864
865 /**
866 * Entity classes that are association relationships from this entity.
867 * @see EJB3EntityFacade#getEntityRelations()
868 */
869 public Collection getEntityRelations()
870 {
871 return this.getSuperEJB3EntityFacade().getEntityRelations();
872 }
873
874 /**
875 * Gets all env-entries for the specified entity EJB. Env-entries are stored as static
876 * attributes on the entity and stereotyped as <<EnvEntry>>. If 'follow' is true, then the
877 * inheritance hierarchy will be followed and we'll retrieve all env-entries from any super
878 * types as well.
879 * @see EJB3EntityFacade#getEnvironmentEntries(boolean follow)
880 */
881 public Collection getEnvironmentEntries(boolean follow)
882 {
883 return this.getSuperEJB3EntityFacade().getEnvironmentEntries(follow);
884 }
885
886 /**
887 * The fully qualified name of the base DAO.
888 * @see EJB3EntityFacade#getFullyQualifiedDaoBaseName()
889 */
890 public String getFullyQualifiedDaoBaseName()
891 {
892 return this.getSuperEJB3EntityFacade().getFullyQualifiedDaoBaseName();
893 }
894
895 /**
896 * Returns the fully qualified default DAO exception name.
897 * @see EJB3EntityFacade#getFullyQualifiedDaoDefaultExceptionName()
898 */
899 public String getFullyQualifiedDaoDefaultExceptionName()
900 {
901 return this.getSuperEJB3EntityFacade().getFullyQualifiedDaoDefaultExceptionName();
902 }
903
904 /**
905 * The fully qualified name of the DAO implemetation.
906 * @see EJB3EntityFacade#getFullyQualifiedDaoImplementationName()
907 */
908 public String getFullyQualifiedDaoImplementationName()
909 {
910 return this.getSuperEJB3EntityFacade().getFullyQualifiedDaoImplementationName();
911 }
912
913 /**
914 * The fully qualified name of the DAO.
915 * @see EJB3EntityFacade#getFullyQualifiedDaoName()
916 */
917 public String getFullyQualifiedDaoName()
918 {
919 return this.getSuperEJB3EntityFacade().getFullyQualifiedDaoName();
920 }
921
922 /**
923 * The fully qualified name of the composite primary key class of this entity.
924 * @see EJB3EntityFacade#getFullyQualifiedEntityCompositePrimaryKeyName()
925 */
926 public String getFullyQualifiedEntityCompositePrimaryKeyName()
927 {
928 return this.getSuperEJB3EntityFacade().getFullyQualifiedEntityCompositePrimaryKeyName();
929 }
930
931 /**
932 * The fully qualified name of the embeddable super class of this entity.
933 * @see EJB3EntityFacade#getFullyQualifiedEntityEmbeddableName()
934 */
935 public String getFullyQualifiedEntityEmbeddableName()
936 {
937 return this.getSuperEJB3EntityFacade().getFullyQualifiedEntityEmbeddableName();
938 }
939
940 /**
941 * Fully qualified name of the Entity implementation class.
942 * @see EJB3EntityFacade#getFullyQualifiedEntityImplementationName()
943 */
944 public String getFullyQualifiedEntityImplementationName()
945 {
946 return this.getSuperEJB3EntityFacade().getFullyQualifiedEntityImplementationName();
947 }
948
949 /**
950 * Fully qualified name of the Entity listner class holding entity callback methods.
951 * @see EJB3EntityFacade#getFullyQualifiedEntityListenerName()
952 */
953 public String getFullyQualifiedEntityListenerName()
954 {
955 return this.getSuperEJB3EntityFacade().getFullyQualifiedEntityListenerName();
956 }
957
958 /**
959 * The fully qualified name of the EJB3 entity.
960 * @see EJB3EntityFacade#getFullyQualifiedEntityName()
961 */
962 public String getFullyQualifiedEntityName()
963 {
964 return this.getSuperEJB3EntityFacade().getFullyQualifiedEntityName();
965 }
966
967 /**
968 * A String representing the name of a home interface for this entity EJB.
969 * @see EJB3EntityFacade#getHomeInterfaceName()
970 */
971 public String getHomeInterfaceName()
972 {
973 return this.getSuperEJB3EntityFacade().getHomeInterfaceName();
974 }
975
976 /**
977 * Returns the identifier, which can be an attribute or an association. For an association, the
978 * target primary key is used as part of the embedded identifier.
979 * @see EJB3EntityFacade#getIdentifier()
980 */
981 public ModelElementFacade getIdentifier()
982 {
983 return this.getSuperEJB3EntityFacade().getIdentifier();
984 }
985
986 /**
987 * Return the value of the andromda_persistence_inheritance tagged value which is an enumeration
988 * containing SINGLE_TABLE, TABLE_PER_CLASS or JOINED.
989 * @see EJB3EntityFacade#getInheritanceStrategy()
990 */
991 public String getInheritanceStrategy()
992 {
993 return this.getSuperEJB3EntityFacade().getInheritanceStrategy();
994 }
995
996 /**
997 * All inherited instanceAttributes this class. The instanceAttributes are grouped by the class
998 * that defines the instanceAttributes, with instanceAttributes from the most removed super
999 * class first.
1000 * @see EJB3EntityFacade#getInheritedInstanceAttributes()
1001 */
1002 public List getInheritedInstanceAttributes()
1003 {
1004 return this.getSuperEJB3EntityFacade().getInheritedInstanceAttributes();
1005 }
1006
1007 /**
1008 * Gets a comma separated list of instance attribute names. If 'follow' is true, will travel up
1009 * the inheritance hierarchy to include instance attributes in parent entities as well. If
1010 * 'withIdentifiers' is true, will include identifiers.
1011 * @see EJB3EntityFacade#getInstanceAttributeNameList(boolean follow, boolean withIdentifiers)
1012 */
1013 public String getInstanceAttributeNameList(boolean follow, boolean withIdentifiers)
1014 {
1015 return this.getSuperEJB3EntityFacade().getInstanceAttributeNameList(follow, withIdentifiers);
1016 }
1017
1018 /**
1019 * Gets a comma separated list of instance attribute types. If 'follow' is true, will travel up
1020 * the inheritance hierarchy to include instance attribute types in parent entities as well. If
1021 * 'withIdentifiers' is true, will include identifiers.
1022 * @see EJB3EntityFacade#getInstanceAttributeTypeList(boolean follow, boolean withIdentifiers)
1023 */
1024 public String getInstanceAttributeTypeList(boolean follow, boolean withIdentifiers)
1025 {
1026 return this.getSuperEJB3EntityFacade().getInstanceAttributeTypeList(follow, withIdentifiers);
1027 }
1028
1029 /**
1030 * Gets all instance attributes of the entity, and optionally retieves the super entities
1031 * instance attributes as well as excludes the entity's identifiers if 'withIdentifiers' is set
1032 * to false.
1033 * @see EJB3EntityFacade#getInstanceAttributes(boolean follow, boolean withIdentifiers)
1034 */
1035 public Collection getInstanceAttributes(boolean follow, boolean withIdentifiers)
1036 {
1037 return this.getSuperEJB3EntityFacade().getInstanceAttributes(follow, withIdentifiers);
1038 }
1039
1040 /**
1041 * jndiNamePrefix/ejb/this.getFullyQualifiedName()
1042 * @see EJB3EntityFacade#getJndiName()
1043 */
1044 public String getJndiName()
1045 {
1046 return this.getSuperEJB3EntityFacade().getJndiName();
1047 }
1048
1049 /**
1050 * Find the attribute with 'andromda_manageable_table_displayname'
1051 * @see EJB3EntityFacade#getManageableDisplayAttribute()
1052 */
1053 public AttributeFacade getManageableDisplayAttribute()
1054 {
1055 return this.getSuperEJB3EntityFacade().getManageableDisplayAttribute();
1056 }
1057
1058 /**
1059 * Return all dependent Roles with the stereotype 'RunAs'
1060 * @see EJB3EntityFacade#getNonRunAsRoles()
1061 */
1062 public Collection<Role> getNonRunAsRoles()
1063 {
1064 return this.getSuperEJB3EntityFacade().getNonRunAsRoles();
1065 }
1066
1067 /**
1068 * Returns the comma separated list of roles allowd to execute DAO operations. This is defined
1069 * by actor dependencies on the entity.
1070 * @see EJB3EntityFacade#getRolesAllowed()
1071 */
1072 public String getRolesAllowed()
1073 {
1074 return this.getSuperEJB3EntityFacade().getRolesAllowed();
1075 }
1076
1077 /**
1078 * Travels up the inheritance hierarchy and retrieves the root of this entity. If the root is
1079 * the entity itself then just the entity is returned.
1080 * @see EJB3EntityFacade#getRoot()
1081 */
1082 public EJB3EntityFacade getRoot()
1083 {
1084 return this.getSuperEJB3EntityFacade().getRoot();
1085 }
1086
1087 /**
1088 * Returns the Seam component name for the class.
1089 * @see EJB3EntityFacade#getSeamComponentName()
1090 */
1091 public String getSeamComponentName()
1092 {
1093 return this.getSuperEJB3EntityFacade().getSeamComponentName();
1094 }
1095
1096 /**
1097 * Returns the seam component scope type if one is specified.
1098 * @see EJB3EntityFacade#getSeamComponentScopeType()
1099 */
1100 public String getSeamComponentScopeType()
1101 {
1102 return this.getSuperEJB3EntityFacade().getSeamComponentScopeType();
1103 }
1104
1105 /**
1106 * Returns the security domain value. Specified using the securityRealm namespace property or
1107 * overridden in the andromda.ejb.security.realm tagged value.
1108 * @see EJB3EntityFacade#getSecurityRealm()
1109 */
1110 public String getSecurityRealm()
1111 {
1112 return this.getSuperEJB3EntityFacade().getSecurityRealm();
1113 }
1114
1115 /**
1116 * Gets select methods for the entity, if all is set to 'true' then ALL select methods will be
1117 * retrieved (including those inherited from any superclasses).
1118 * @see EJB3EntityFacade#getSelectMethods(boolean follow)
1119 */
1120 public Collection getSelectMethods(boolean follow)
1121 {
1122 return this.getSuperEJB3EntityFacade().getSelectMethods(follow);
1123 }
1124
1125 /**
1126 * Gets the SQL Mappings from the SQLMappings URI
1127 * @see EJB3EntityFacade#getSqlType()
1128 */
1129 public String getSqlType()
1130 {
1131 return this.getSuperEJB3EntityFacade().getSqlType();
1132 }
1133
1134 /**
1135 * ValueObject dependency references from this Entity
1136 * @see EJB3EntityFacade#getValueDependencies()
1137 */
1138 public Collection getValueDependencies()
1139 {
1140 return this.getSuperEJB3EntityFacade().getValueDependencies();
1141 }
1142
1143 /**
1144 * Retrieves the value object dependencies for this entity without inherited object references.
1145 * @see EJB3EntityFacade#getValueObjectReferences()
1146 */
1147 public Collection<DependencyFacade> getValueObjectReferences()
1148 {
1149 return this.getSuperEJB3EntityFacade().getValueObjectReferences();
1150 }
1151
1152 /**
1153 * Retrieves the values object references for this entity. If <code>follow</code> is true, then
1154 * all value object references (including those that were inherited) will be retrieved.
1155 * @see EJB3EntityFacade#getValueObjectReferences(boolean follow)
1156 */
1157 public Collection getValueObjectReferences(boolean follow)
1158 {
1159 return this.getSuperEJB3EntityFacade().getValueObjectReferences(follow);
1160 }
1161
1162 /**
1163 * A string indicating whether the Bean is a local or remotely accessable bean.
1164 * @see EJB3EntityFacade#getViewType()
1165 */
1166 public String getViewType()
1167 {
1168 return this.getSuperEJB3EntityFacade().getViewType();
1169 }
1170
1171 /**
1172 * If the attribute att is present
1173 * @see EJB3EntityFacade#isAttributePresent(String att)
1174 */
1175 public boolean isAttributePresent(String att)
1176 {
1177 return this.getSuperEJB3EntityFacade().isAttributePresent(att);
1178 }
1179
1180 /**
1181 * Returns true if caching has been enabled via namespace property hibernateEnableCache.
1182 * @see EJB3EntityFacade#isCacheEnabled()
1183 */
1184 public boolean isCacheEnabled()
1185 {
1186 return this.getSuperEJB3EntityFacade().isCacheEnabled();
1187 }
1188
1189 /**
1190 * Returns true if a composite primary key exists for this entity bean. A composite primary key
1191 * consists of 2 or more entity identifiers.
1192 * @see EJB3EntityFacade#isCompositePrimaryKeyPresent()
1193 */
1194 public boolean isCompositePrimaryKeyPresent()
1195 {
1196 return this.getSuperEJB3EntityFacade().isCompositePrimaryKeyPresent();
1197 }
1198
1199 /**
1200 * Indicates whether or not any business DAO operations are present.
1201 * @see EJB3EntityFacade#isDaoBusinessOperationsPresent()
1202 */
1203 public boolean isDaoBusinessOperationsPresent()
1204 {
1205 return this.getSuperEJB3EntityFacade().isDaoBusinessOperationsPresent();
1206 }
1207
1208 /**
1209 * True if an implementation is required for the dao class, this is the case when there are
1210 * business operations or value-object transformation.
1211 * @see EJB3EntityFacade#isDaoImplementationRequired()
1212 */
1213 public boolean isDaoImplementationRequired()
1214 {
1215 return this.getSuperEJB3EntityFacade().isDaoImplementationRequired();
1216 }
1217
1218 /**
1219 * Determines if this entity is an mapped/embeddable super class.
1220 * @see EJB3EntityFacade#isEmbeddableSuperclass()
1221 */
1222 public boolean isEmbeddableSuperclass()
1223 {
1224 return this.getSuperEJB3EntityFacade().isEmbeddableSuperclass();
1225 }
1226
1227 /**
1228 * Returns true if this entity is a subclass of an mapped/embeddable super class. You cannot
1229 * have more than 1 level of inheritance using mapped/embeddable super class. To achieve
1230 * multiple levels, use one of the inheritance mapping strategies like single table, table per
1231 * class or joined table strategies.
1232 * @see EJB3EntityFacade#isEmbeddableSuperclassGeneralizationExists()
1233 */
1234 public boolean isEmbeddableSuperclassGeneralizationExists()
1235 {
1236 return this.getSuperEJB3EntityFacade().isEmbeddableSuperclassGeneralizationExists();
1237 }
1238
1239 /**
1240 * True if an entity implementation is required for the entity class, this is the case when
1241 * there are business operations.
1242 * @see EJB3EntityFacade#isEntityImplementationRequired()
1243 */
1244 public boolean isEntityImplementationRequired()
1245 {
1246 return this.getSuperEJB3EntityFacade().isEntityImplementationRequired();
1247 }
1248
1249 /**
1250 * Returns true if the findAll finder method (specified as a query method) has been modelled.
1251 * @see EJB3EntityFacade#isFinderFindAllExists()
1252 */
1253 public boolean isFinderFindAllExists()
1254 {
1255 return this.getSuperEJB3EntityFacade().isFinderFindAllExists();
1256 }
1257
1258 /**
1259 * Returns true if the finder findByPrimaryKey has been modelled.
1260 * @see EJB3EntityFacade#isFinderFindByPrimaryKeyExists()
1261 */
1262 public boolean isFinderFindByPrimaryKeyExists()
1263 {
1264 return this.getSuperEJB3EntityFacade().isFinderFindByPrimaryKeyExists();
1265 }
1266
1267 /**
1268 * Returns true if the generic finder property is true. This will create generic finder static
1269 * methods in the entity POJO like findByPrimaryKey and findAll.
1270 * @see EJB3EntityFacade#isGenericFinders()
1271 */
1272 public boolean isGenericFinders()
1273 {
1274 return this.getSuperEJB3EntityFacade().isGenericFinders();
1275 }
1276
1277 /**
1278 * If the identifier id is present
1279 * @see EJB3EntityFacade#isIdentifierPresent(String id)
1280 */
1281 public boolean isIdentifierPresent(String id)
1282 {
1283 return this.getSuperEJB3EntityFacade().isIdentifierPresent(id);
1284 }
1285
1286 /**
1287 * Return true if the entity inheritance strategy as specified by the tagged value
1288 * andromda_persistence_inheritance is defined as JOINED.
1289 * @see EJB3EntityFacade#isInheritanceJoined()
1290 */
1291 public boolean isInheritanceJoined()
1292 {
1293 return this.getSuperEJB3EntityFacade().isInheritanceJoined();
1294 }
1295
1296 /**
1297 * Return true if the entity inheritance strategy as specified by the tagged value
1298 * andromda_persistence_inheritance is defined as SINGLE_TABLE.
1299 * @see EJB3EntityFacade#isInheritanceSingleTable()
1300 */
1301 public boolean isInheritanceSingleTable()
1302 {
1303 return this.getSuperEJB3EntityFacade().isInheritanceSingleTable();
1304 }
1305
1306 /**
1307 * Return true if the entity inheritance strategy as specified by the tagged value
1308 * andromda_persistence_inheritance is defined as TABLE_PER_CLASS.
1309 * @see EJB3EntityFacade#isInheritanceTablePerClass()
1310 */
1311 public boolean isInheritanceTablePerClass()
1312 {
1313 return this.getSuperEJB3EntityFacade().isInheritanceTablePerClass();
1314 }
1315
1316 /**
1317 * Returns true if this entity bean has the stereotype Listener. False otherwise.
1318 * @see EJB3EntityFacade#isListenerEnabled()
1319 */
1320 public boolean isListenerEnabled()
1321 {
1322 return this.getSuperEJB3EntityFacade().isListenerEnabled();
1323 }
1324
1325 /**
1326 * Returns true if this entity is assigned the Manageable stereotype. False otherwise.
1327 * @see EJB3EntityFacade#isManageable()
1328 */
1329 public boolean isManageable()
1330 {
1331 return this.getSuperEJB3EntityFacade().isManageable();
1332 }
1333
1334 /**
1335 * If the operation op is present
1336 * @see EJB3EntityFacade#isOperationPresent(String op)
1337 */
1338 public boolean isOperationPresent(String op)
1339 {
1340 return this.getSuperEJB3EntityFacade().isOperationPresent(op);
1341 }
1342
1343 /**
1344 * Returns true if the entity requires generalization mapping. The Inheritance annotation is
1345 * required for child entities for all inheritance strategies.
1346 * @see EJB3EntityFacade#isRequiresGeneralizationMapping()
1347 */
1348 public boolean isRequiresGeneralizationMapping()
1349 {
1350 return this.getSuperEJB3EntityFacade().isRequiresGeneralizationMapping();
1351 }
1352
1353 /**
1354 * Returns true if the entity requires specialization mapping. The Inheritance annotation is
1355 * required for parent entities for all inheritance strategies.
1356 * @see EJB3EntityFacade#isRequiresSpecializationMapping()
1357 */
1358 public boolean isRequiresSpecializationMapping()
1359 {
1360 return this.getSuperEJB3EntityFacade().isRequiresSpecializationMapping();
1361 }
1362
1363 /**
1364 * Returns true if this entity has the <<Seam>> stereotype modelled indicating it is a Seam
1365 * entity component.
1366 * @see EJB3EntityFacade#isSeamComponent()
1367 */
1368 public boolean isSeamComponent()
1369 {
1370 return this.getSuperEJB3EntityFacade().isSeamComponent();
1371 }
1372
1373 /**
1374 * Returns true if the security realm is specified. This will generate the security setting for
1375 * the DAO components.
1376 * @see EJB3EntityFacade#isSecurityEnabled()
1377 */
1378 public boolean isSecurityEnabled()
1379 {
1380 return this.getSuperEJB3EntityFacade().isSecurityEnabled();
1381 }
1382
1383 /**
1384 * Whether or not to allow a synthetic (auto generated) create method.
1385 * @see EJB3EntityFacade#isSyntheticCreateMethodAllowed()
1386 */
1387 public boolean isSyntheticCreateMethodAllowed()
1388 {
1389 return this.getSuperEJB3EntityFacade().isSyntheticCreateMethodAllowed();
1390 }
1391
1392 /**
1393 * Return true if a unique cache region is NOT required for entities and queries. This means we
1394 * use the default cache region specified by the container. Specified via the
1395 * useDefaultCacheRegion namepsace property.
1396 * @see EJB3EntityFacade#isUseDefaultCacheRegion()
1397 */
1398 public boolean isUseDefaultCacheRegion()
1399 {
1400 return this.getSuperEJB3EntityFacade().isUseDefaultCacheRegion();
1401 }
1402
1403 /**
1404 * Returns true if the application wide namespace property hibernateUseQueryCache is enabled.
1405 * This is used for generic finder methods i.e. findAll.
1406 * @see EJB3EntityFacade#isUseQueryCache()
1407 */
1408 public boolean isUseQueryCache()
1409 {
1410 return this.getSuperEJB3EntityFacade().isUseQueryCache();
1411 }
1412
1413 /**
1414 * Return the attribute which name matches the parameter
1415 * @see ClassifierFacade#findAttribute(String name)
1416 */
1417 public AttributeFacade findAttribute(String name)
1418 {
1419 return this.getSuperEJB3EntityFacade().findAttribute(name);
1420 }
1421
1422 /**
1423 * Those abstraction dependencies for which this classifier is the client.
1424 * @see ClassifierFacade#getAbstractions()
1425 */
1426 public Collection<ClassifierFacade> getAbstractions()
1427 {
1428 return this.getSuperEJB3EntityFacade().getAbstractions();
1429 }
1430
1431 /**
1432 * Lists all classes associated to this one and any ancestor classes (through generalization).
1433 * There will be no duplicates. The order of the elements is predictable.
1434 * @see ClassifierFacade#getAllAssociatedClasses()
1435 */
1436 public Collection<ClassifierFacade> getAllAssociatedClasses()
1437 {
1438 return this.getSuperEJB3EntityFacade().getAllAssociatedClasses();
1439 }
1440
1441 /**
1442 * A collection containing all 'properties' of the classifier and its ancestors. Properties are
1443 * any attributes and navigable connecting association ends.
1444 * @see ClassifierFacade#getAllProperties()
1445 */
1446 public Collection<ModelElementFacade> getAllProperties()
1447 {
1448 return this.getSuperEJB3EntityFacade().getAllProperties();
1449 }
1450
1451 /**
1452 * A collection containing all required and/or read-only 'properties' of the classifier and its
1453 * ancestors. Properties are any attributes and navigable connecting association ends.
1454 * @see ClassifierFacade#getAllRequiredConstructorParameters()
1455 */
1456 public Collection<ModelElementFacade> getAllRequiredConstructorParameters()
1457 {
1458 return this.getSuperEJB3EntityFacade().getAllRequiredConstructorParameters();
1459 }
1460
1461 /**
1462 * Gets the array type for this classifier. If this classifier already represents an array, it
1463 * just returns itself.
1464 * @see ClassifierFacade#getArray()
1465 */
1466 public ClassifierFacade getArray()
1467 {
1468 return this.getSuperEJB3EntityFacade().getArray();
1469 }
1470
1471 /**
1472 * The name of the classifier as an array.
1473 * @see ClassifierFacade#getArrayName()
1474 */
1475 public String getArrayName()
1476 {
1477 return this.getSuperEJB3EntityFacade().getArrayName();
1478 }
1479
1480 /**
1481 * Lists the classes associated to this one, there is no repitition of classes. The order of the
1482 * elements is predictable.
1483 * @see ClassifierFacade#getAssociatedClasses()
1484 */
1485 public Collection<ClassifierFacade> getAssociatedClasses()
1486 {
1487 return this.getSuperEJB3EntityFacade().getAssociatedClasses();
1488 }
1489
1490 /**
1491 * Gets the association ends belonging to a classifier.
1492 * @see ClassifierFacade#getAssociationEnds()
1493 */
1494 public List<AssociationEndFacade> getAssociationEnds()
1495 {
1496 return this.getSuperEJB3EntityFacade().getAssociationEnds();
1497 }
1498
1499 /**
1500 * Gets the attributes that belong to the classifier.
1501 * @see ClassifierFacade#getAttributes()
1502 */
1503 public List<AttributeFacade> getAttributes()
1504 {
1505 return this.getSuperEJB3EntityFacade().getAttributes();
1506 }
1507
1508 /**
1509 * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance
1510 * hierarchy and gets the attributes from the super classes as well.
1511 * @see ClassifierFacade#getAttributes(boolean follow)
1512 */
1513 public List<AttributeFacade> getAttributes(boolean follow)
1514 {
1515 return this.getSuperEJB3EntityFacade().getAttributes(follow);
1516 }
1517
1518 /**
1519 * The fully qualified name of the classifier as an array.
1520 * @see ClassifierFacade#getFullyQualifiedArrayName()
1521 */
1522 public String getFullyQualifiedArrayName()
1523 {
1524 return this.getSuperEJB3EntityFacade().getFullyQualifiedArrayName();
1525 }
1526
1527 /**
1528 * Returns all those operations that could be implemented at this classifier's level. This means
1529 * the operations owned by this classifier as well as any realized interface's operations
1530 * (recursively) in case this classifier itself is not already an interface, or generalized when
1531 * this classifier is an interface.
1532 * @see ClassifierFacade#getImplementationOperations()
1533 */
1534 public Collection<OperationFacade> getImplementationOperations()
1535 {
1536 return this.getSuperEJB3EntityFacade().getImplementationOperations();
1537 }
1538
1539 /**
1540 * A comma separated list of the fully qualified names of all implemented interfaces.
1541 * @see ClassifierFacade#getImplementedInterfaceList()
1542 */
1543 public String getImplementedInterfaceList()
1544 {
1545 return this.getSuperEJB3EntityFacade().getImplementedInterfaceList();
1546 }
1547
1548 /**
1549 * Those attributes that are scoped to an instance of this class.
1550 * @see ClassifierFacade#getInstanceAttributes()
1551 */
1552 public Collection<AttributeFacade> getInstanceAttributes()
1553 {
1554 return this.getSuperEJB3EntityFacade().getInstanceAttributes();
1555 }
1556
1557 /**
1558 * Those operations that are scoped to an instance of this class.
1559 * @see ClassifierFacade#getInstanceOperations()
1560 */
1561 public List<OperationFacade> getInstanceOperations()
1562 {
1563 return this.getSuperEJB3EntityFacade().getInstanceOperations();
1564 }
1565
1566 /**
1567 * Those interfaces that are abstractions of this classifier, this basically means this
1568 * classifier realizes them.
1569 * @see ClassifierFacade#getInterfaceAbstractions()
1570 */
1571 public Collection<ClassifierFacade> getInterfaceAbstractions()
1572 {
1573 return this.getSuperEJB3EntityFacade().getInterfaceAbstractions();
1574 }
1575
1576 /**
1577 * A String representing a new Constructor declaration for this classifier type to be used in a
1578 * Java environment.
1579 * @see ClassifierFacade#getJavaNewString()
1580 */
1581 public String getJavaNewString()
1582 {
1583 return this.getSuperEJB3EntityFacade().getJavaNewString();
1584 }
1585
1586 /**
1587 * A String representing the null-value for this classifier type to be used in a Java
1588 * environment.
1589 * @see ClassifierFacade#getJavaNullString()
1590 */
1591 public String getJavaNullString()
1592 {
1593 return this.getSuperEJB3EntityFacade().getJavaNullString();
1594 }
1595
1596 /**
1597 * The other ends of this classifier's association ends which are navigable.
1598 * @see ClassifierFacade#getNavigableConnectingEnds()
1599 */
1600 public Collection<AssociationEndFacade> getNavigableConnectingEnds()
1601 {
1602 return this.getSuperEJB3EntityFacade().getNavigableConnectingEnds();
1603 }
1604
1605 /**
1606 * Get the other ends of this classifier's association ends which are navigable and if 'follow'
1607 * is true goes up the inheritance hierarchy and gets the super association ends as well.
1608 * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow)
1609 */
1610 public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow)
1611 {
1612 return this.getSuperEJB3EntityFacade().getNavigableConnectingEnds(follow);
1613 }
1614
1615 /**
1616 * Assuming that the classifier is an array, this will return the non array type of the
1617 * classifier from
1618 * the model. If the classifier is NOT an array, it will just return itself.
1619 * @see ClassifierFacade#getNonArray()
1620 */
1621 public ClassifierFacade getNonArray()
1622 {
1623 return this.getSuperEJB3EntityFacade().getNonArray();
1624 }
1625
1626 /**
1627 * The attributes from this classifier in the form of an operation call (this example would be
1628 * in Java): '(String attributeOne, String attributeTwo). If there were no attributes on the
1629 * classifier, the result would be an empty '()'.
1630 * @see ClassifierFacade#getOperationCallFromAttributes()
1631 */
1632 public String getOperationCallFromAttributes()
1633 {
1634 return this.getSuperEJB3EntityFacade().getOperationCallFromAttributes();
1635 }
1636
1637 /**
1638 * The operations owned by this classifier.
1639 * @see ClassifierFacade#getOperations()
1640 */
1641 public List<OperationFacade> getOperations()
1642 {
1643 return this.getSuperEJB3EntityFacade().getOperations();
1644 }
1645
1646 /**
1647 * A collection containing all 'properties' of the classifier. Properties are any attributes
1648 * and navigable connecting association ends.
1649 * @see ClassifierFacade#getProperties()
1650 */
1651 public List<ModelElementFacade> getProperties()
1652 {
1653 return this.getSuperEJB3EntityFacade().getProperties();
1654 }
1655
1656 /**
1657 * Gets all properties (attributes and navigable association ends) for the classifier and if
1658 * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super
1659 * classes as well.
1660 * @see ClassifierFacade#getProperties(boolean follow)
1661 */
1662 public List getProperties(boolean follow)
1663 {
1664 return this.getSuperEJB3EntityFacade().getProperties(follow);
1665 }
1666
1667 /**
1668 * A collection containing all required and/or read-only 'properties' of the classifier.
1669 * Properties are any attributes and navigable connecting association ends.
1670 * @see ClassifierFacade#getRequiredConstructorParameters()
1671 */
1672 public Collection<ModelElementFacade> getRequiredConstructorParameters()
1673 {
1674 return this.getSuperEJB3EntityFacade().getRequiredConstructorParameters();
1675 }
1676
1677 /**
1678 * Returns the serial version UID of the underlying model element.
1679 * @see ClassifierFacade#getSerialVersionUID()
1680 */
1681 public long getSerialVersionUID()
1682 {
1683 return this.getSuperEJB3EntityFacade().getSerialVersionUID();
1684 }
1685
1686 /**
1687 * Those attributes that are scoped to the definition of this class.
1688 * @see ClassifierFacade#getStaticAttributes()
1689 */
1690 public Collection<AttributeFacade> getStaticAttributes()
1691 {
1692 return this.getSuperEJB3EntityFacade().getStaticAttributes();
1693 }
1694
1695 /**
1696 * Those operations that are scoped to the definition of this class.
1697 * @see ClassifierFacade#getStaticOperations()
1698 */
1699 public List<OperationFacade> getStaticOperations()
1700 {
1701 return this.getSuperEJB3EntityFacade().getStaticOperations();
1702 }
1703
1704 /**
1705 * This class' superclass, returns the generalization if it is a ClassifierFacade, null
1706 * otherwise.
1707 * @see ClassifierFacade#getSuperClass()
1708 */
1709 public ClassifierFacade getSuperClass()
1710 {
1711 return this.getSuperEJB3EntityFacade().getSuperClass();
1712 }
1713
1714 /**
1715 * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long'
1716 * maps to 'Long'). If the classifier doesn't have a wrapper defined for it, this method will
1717 * return a null. Note that wrapper mappings must be defined for the namespace by defining the
1718 * 'wrapperMappingsUri', this property must point to the location of the mappings file which
1719 * maps the primitives to wrapper types.
1720 * @see ClassifierFacade#getWrapperName()
1721 */
1722 public String getWrapperName()
1723 {
1724 return this.getSuperEJB3EntityFacade().getWrapperName();
1725 }
1726
1727 /**
1728 * Indicates if this classifier is 'abstract'.
1729 * @see ClassifierFacade#isAbstract()
1730 */
1731 public boolean isAbstract()
1732 {
1733 return this.getSuperEJB3EntityFacade().isAbstract();
1734 }
1735
1736 /**
1737 * True if this classifier represents an array type. False otherwise.
1738 * @see ClassifierFacade#isArrayType()
1739 */
1740 public boolean isArrayType()
1741 {
1742 return this.getSuperEJB3EntityFacade().isArrayType();
1743 }
1744
1745 /**
1746 * True if the ClassifierFacade is an AssociationClass.
1747 * @see ClassifierFacade#isAssociationClass()
1748 */
1749 public boolean isAssociationClass()
1750 {
1751 return this.getSuperEJB3EntityFacade().isAssociationClass();
1752 }
1753
1754 /**
1755 * Returns true if this type represents a Blob type.
1756 * @see ClassifierFacade#isBlobType()
1757 */
1758 public boolean isBlobType()
1759 {
1760 return this.getSuperEJB3EntityFacade().isBlobType();
1761 }
1762
1763 /**
1764 * Indicates if this type represents a boolean type or not.
1765 * @see ClassifierFacade#isBooleanType()
1766 */
1767 public boolean isBooleanType()
1768 {
1769 return this.getSuperEJB3EntityFacade().isBooleanType();
1770 }
1771
1772 /**
1773 * Indicates if this type represents a char, Character, or java.lang.Character type or not.
1774 * @see ClassifierFacade#isCharacterType()
1775 */
1776 public boolean isCharacterType()
1777 {
1778 return this.getSuperEJB3EntityFacade().isCharacterType();
1779 }
1780
1781 /**
1782 * Returns true if this type represents a Clob type.
1783 * @see ClassifierFacade#isClobType()
1784 */
1785 public boolean isClobType()
1786 {
1787 return this.getSuperEJB3EntityFacade().isClobType();
1788 }
1789
1790 /**
1791 * True if this classifier represents a collection type. False otherwise.
1792 * @see ClassifierFacade#isCollectionType()
1793 */
1794 public boolean isCollectionType()
1795 {
1796 return this.getSuperEJB3EntityFacade().isCollectionType();
1797 }
1798
1799 /**
1800 * True/false depending on whether or not this classifier represents a datatype. A data type is
1801 * a type whose instances are identified only by their value. A data type may contain attributes
1802 * to support the modeling of structured data types.
1803 * @see ClassifierFacade#isDataType()
1804 */
1805 public boolean isDataType()
1806 {
1807 return this.getSuperEJB3EntityFacade().isDataType();
1808 }
1809
1810 /**
1811 * True when this classifier is a date type.
1812 * @see ClassifierFacade#isDateType()
1813 */
1814 public boolean isDateType()
1815 {
1816 return this.getSuperEJB3EntityFacade().isDateType();
1817 }
1818
1819 /**
1820 * Indicates if this type represents a Double type or not.
1821 * @see ClassifierFacade#isDoubleType()
1822 */
1823 public boolean isDoubleType()
1824 {
1825 return this.getSuperEJB3EntityFacade().isDoubleType();
1826 }
1827
1828 /**
1829 * Indicates whether or not this classifier represents an "EmbeddedValue'.
1830 * @see ClassifierFacade#isEmbeddedValue()
1831 */
1832 public boolean isEmbeddedValue()
1833 {
1834 return this.getSuperEJB3EntityFacade().isEmbeddedValue();
1835 }
1836
1837 /**
1838 * True if this classifier is in fact marked as an enumeration.
1839 * @see ClassifierFacade#isEnumeration()
1840 */
1841 public boolean isEnumeration()
1842 {
1843 return this.getSuperEJB3EntityFacade().isEnumeration();
1844 }
1845
1846 /**
1847 * Returns true if this type represents a 'file' type.
1848 * @see ClassifierFacade#isFileType()
1849 */
1850 public boolean isFileType()
1851 {
1852 return this.getSuperEJB3EntityFacade().isFileType();
1853 }
1854
1855 /**
1856 * Indicates if this type represents a Float type or not.
1857 * @see ClassifierFacade#isFloatType()
1858 */
1859 public boolean isFloatType()
1860 {
1861 return this.getSuperEJB3EntityFacade().isFloatType();
1862 }
1863
1864 /**
1865 * Indicates if this type represents an int or Integer or java.lang.Integer type or not.
1866 * @see ClassifierFacade#isIntegerType()
1867 */
1868 public boolean isIntegerType()
1869 {
1870 return this.getSuperEJB3EntityFacade().isIntegerType();
1871 }
1872
1873 /**
1874 * True/false depending on whether or not this Classifier represents an interface.
1875 * @see ClassifierFacade#isInterface()
1876 */
1877 public boolean isInterface()
1878 {
1879 return this.getSuperEJB3EntityFacade().isInterface();
1880 }
1881
1882 /**
1883 * True if this classifier cannot be extended and represent a leaf in the inheritance tree.
1884 * @see ClassifierFacade#isLeaf()
1885 */
1886 public boolean isLeaf()
1887 {
1888 return this.getSuperEJB3EntityFacade().isLeaf();
1889 }
1890
1891 /**
1892 * True if this classifier represents a list type. False otherwise.
1893 * @see ClassifierFacade#isListType()
1894 */
1895 public boolean isListType()
1896 {
1897 return this.getSuperEJB3EntityFacade().isListType();
1898 }
1899
1900 /**
1901 * Indicates if this type represents a Long type or not.
1902 * @see ClassifierFacade#isLongType()
1903 */
1904 public boolean isLongType()
1905 {
1906 return this.getSuperEJB3EntityFacade().isLongType();
1907 }
1908
1909 /**
1910 * Indicates whether or not this classifier represents a Map type.
1911 * @see ClassifierFacade#isMapType()
1912 */
1913 public boolean isMapType()
1914 {
1915 return this.getSuperEJB3EntityFacade().isMapType();
1916 }
1917
1918 /**
1919 * Indicates whether or not this classifier represents a primitive type.
1920 * @see ClassifierFacade#isPrimitive()
1921 */
1922 public boolean isPrimitive()
1923 {
1924 return this.getSuperEJB3EntityFacade().isPrimitive();
1925 }
1926
1927 /**
1928 * True if this classifier represents a set type. False otherwise.
1929 * @see ClassifierFacade#isSetType()
1930 */
1931 public boolean isSetType()
1932 {
1933 return this.getSuperEJB3EntityFacade().isSetType();
1934 }
1935
1936 /**
1937 * Indicates whether or not this classifier represents a string type.
1938 * @see ClassifierFacade#isStringType()
1939 */
1940 public boolean isStringType()
1941 {
1942 return this.getSuperEJB3EntityFacade().isStringType();
1943 }
1944
1945 /**
1946 * Indicates whether or not this classifier represents a time type.
1947 * @see ClassifierFacade#isTimeType()
1948 */
1949 public boolean isTimeType()
1950 {
1951 return this.getSuperEJB3EntityFacade().isTimeType();
1952 }
1953
1954 /**
1955 * Returns true if this type is a wrapped primitive type.
1956 * @see ClassifierFacade#isWrappedPrimitive()
1957 */
1958 public boolean isWrappedPrimitive()
1959 {
1960 return this.getSuperEJB3EntityFacade().isWrappedPrimitive();
1961 }
1962
1963 /**
1964 * Returns a collection of all entities this entity and its ancestors have a relation to.
1965 * @see org.andromda.metafacades.uml.Entity#getAllEntityReferences()
1966 */
1967 public Collection<DependencyFacade> getAllEntityReferences()
1968 {
1969 return this.getSuperEJB3EntityFacade().getAllEntityReferences();
1970 }
1971
1972 /**
1973 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
1974 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
1975 * is true, will include identifiers.
1976 * @see org.andromda.metafacades.uml.Entity#getAttributeNameList(boolean follow, boolean withIdentifiers)
1977 */
1978 public String getAttributeNameList(boolean follow, boolean withIdentifiers)
1979 {
1980 return this.getSuperEJB3EntityFacade().getAttributeNameList(follow, withIdentifiers);
1981 }
1982
1983 /**
1984 * Gets a comma separated list of attribute names. If 'follow' is true, will travel up the
1985 * inheritance hiearchy to include attributes in parent entities as well. If 'withIdentifiers'
1986 * is true, will include identifiers and if 'withDerived' is set to true, will include derived
1987 * attributes.
1988 * @see org.andromda.metafacades.uml.Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
1989 */
1990 public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
1991 {
1992 return this.getSuperEJB3EntityFacade().getAttributeNameList(follow, withIdentifiers, withDerived);
1993 }
1994
1995 /**
1996 * Gets a comma separated list of attribute types. If 'follow' is true, will travel up the
1997 * inheritance hierarchy to include attributes in parent entities as well. If 'withIdentifiers'
1998 * is true, will include identifiers.
1999 * @see org.andromda.metafacades.uml.Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers)
2000 */
2001 public String getAttributeTypeList(boolean follow, boolean withIdentifiers)
2002 {
2003 return this.getSuperEJB3EntityFacade().getAttributeTypeList(follow, withIdentifiers);
2004 }
2005
2006 /**
2007 * Gets all attributes of the entity, and optionally retieves the super entities attributes as
2008 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false.
2009 * @see org.andromda.metafacades.uml.Entity#getAttributes(boolean follow, boolean withIdentifiers)
2010 */
2011 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers)
2012 {
2013 return this.getSuperEJB3EntityFacade().getAttributes(follow, withIdentifiers);
2014 }
2015
2016 /**
2017 * Gets all attributes of the entity, and optionally retieves the super entities attributes as
2018 * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude
2019 * derived attributes if 'withDerived' is set to false.
2020 * @see org.andromda.metafacades.uml.Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
2021 */
2022 public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
2023 {
2024 return this.getSuperEJB3EntityFacade().getAttributes(follow, withIdentifiers, withDerived);
2025 }
2026
2027 /**
2028 * All business operations of the entity, these include any operations that aren't queries.
2029 * @see org.andromda.metafacades.uml.Entity#getBusinessOperations()
2030 */
2031 public Collection<OperationFacade> getBusinessOperations()
2032 {
2033 return this.getSuperEJB3EntityFacade().getBusinessOperations();
2034 }
2035
2036 /**
2037 * Gets any children association ends (i.e. entity association ends that are participants in an
2038 * association with this entity and this entity has composite aggregation defined for those
2039 * associations).
2040 * @see org.andromda.metafacades.uml.Entity#getChildEnds()
2041 */
2042 public Collection<EntityAssociationEnd> getChildEnds()
2043 {
2044 return this.getSuperEJB3EntityFacade().getChildEnds();
2045 }
2046
2047 /**
2048 * The embedded values belonging to this entity.
2049 * @see org.andromda.metafacades.uml.Entity#getEmbeddedValues()
2050 */
2051 public Collection<AttributeFacade> getEmbeddedValues()
2052 {
2053 return this.getSuperEJB3EntityFacade().getEmbeddedValues();
2054 }
2055
2056 /**
2057 * All entities referenced by this entity.
2058 * @see org.andromda.metafacades.uml.Entity#getEntityReferences()
2059 */
2060 public Collection<DependencyFacade> getEntityReferences()
2061 {
2062 return this.getSuperEJB3EntityFacade().getEntityReferences();
2063 }
2064
2065 /**
2066 * The full name of the type of the identifier. If composite identifier add the PK sufix to the
2067 * class name. If not, retorns the fully qualified name of the identifier.
2068 * @see org.andromda.metafacades.uml.Entity#getFullyQualifiedIdentifierTypeName()
2069 */
2070 public String getFullyQualifiedIdentifierTypeName()
2071 {
2072 return this.getSuperEJB3EntityFacade().getFullyQualifiedIdentifierTypeName();
2073 }
2074
2075 /**
2076 * Gets all the associationEnds of this entity marked with the identifiers stereotype.
2077 * @see org.andromda.metafacades.uml.Entity#getIdentifierAssociationEnds()
2078 */
2079 public Collection<AssociationEndFacade> getIdentifierAssociationEnds()
2080 {
2081 return this.getSuperEJB3EntityFacade().getIdentifierAssociationEnds();
2082 }
2083
2084 /**
2085 * The getter name of the identifier.
2086 * @see org.andromda.metafacades.uml.Entity#getIdentifierGetterName()
2087 */
2088 public String getIdentifierGetterName()
2089 {
2090 return this.getSuperEJB3EntityFacade().getIdentifierGetterName();
2091 }
2092
2093 /**
2094 * The name of the identifier. If composite identifier add the Pk suffix. If not composite
2095 * returns the attribute name of the identifier.
2096 * @see org.andromda.metafacades.uml.Entity#getIdentifierName()
2097 */
2098 public String getIdentifierName()
2099 {
2100 return this.getSuperEJB3EntityFacade().getIdentifierName();
2101 }
2102
2103 /**
2104 * The setter name of the identifier.
2105 * @see org.andromda.metafacades.uml.Entity#getIdentifierSetterName()
2106 */
2107 public String getIdentifierSetterName()
2108 {
2109 return this.getSuperEJB3EntityFacade().getIdentifierSetterName();
2110 }
2111
2112 /**
2113 * The name of the type of the identifier. If composite identifier add the PK suffix to the
2114 * class name. If not, returns the name of the identifier.
2115 * @see org.andromda.metafacades.uml.Entity#getIdentifierTypeName()
2116 */
2117 public String getIdentifierTypeName()
2118 {
2119 return this.getSuperEJB3EntityFacade().getIdentifierTypeName();
2120 }
2121
2122 /**
2123 * All the attributes of the entity which make up its identifier (primary key). Will search any
2124 * super classes as well. If no identifiers exist, a default identifier will be created if the
2125 * allowDefaultIdentifiers property is set to true.
2126 * @see org.andromda.metafacades.uml.Entity#getIdentifiers()
2127 */
2128 public Collection<ModelElementFacade> getIdentifiers()
2129 {
2130 return this.getSuperEJB3EntityFacade().getIdentifiers();
2131 }
2132
2133 /**
2134 * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found
2135 * on the entity, a search up the inheritance chain will be performed, and the identifiers from
2136 * the first super class having them will be used. If no identifiers exist, a default
2137 * identifier will be created if the allowDefaultIdentifiers property is set to true.
2138 * Identifiers can be on attributes or associations (composite primary key).
2139 * @see org.andromda.metafacades.uml.Entity#getIdentifiers(boolean follow)
2140 */
2141 public Collection<ModelElementFacade> getIdentifiers(boolean follow)
2142 {
2143 return this.getSuperEJB3EntityFacade().getIdentifiers(follow);
2144 }
2145
2146 /**
2147 * The maximum length a SQL name may be.
2148 * @see org.andromda.metafacades.uml.Entity#getMaxSqlNameLength()
2149 */
2150 public short getMaxSqlNameLength()
2151 {
2152 return this.getSuperEJB3EntityFacade().getMaxSqlNameLength();
2153 }
2154
2155 /**
2156 * Gets the attributes as a list within an operation call, optionally including the type names
2157 * and the identifier attributes.
2158 * @see org.andromda.metafacades.uml.Entity#getOperationCallFromAttributes(boolean withIdentifiers)
2159 */
2160 public String getOperationCallFromAttributes(boolean withIdentifiers)
2161 {
2162 return this.getSuperEJB3EntityFacade().getOperationCallFromAttributes(withIdentifiers);
2163 }
2164
2165 /**
2166 * Gets the attributes as a list within an operation call. If 'withTypeNames' is true, it will
2167 * include the type names, if 'withIdentifiers' is true it will include the identifiers. If
2168 * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super
2169 * class as well.
2170 * @see org.andromda.metafacades.uml.Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
2171 */
2172 public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
2173 {
2174 return this.getSuperEJB3EntityFacade().getOperationCallFromAttributes(withIdentifiers, follow);
2175 }
2176
2177 /**
2178 * Returns the parent association end of this entity if its a child entity. The parent is the
2179 * entity that is the participant the association that has composite aggregation defined. Will
2180 * return null if the entity has no parent.
2181 * @see org.andromda.metafacades.uml.Entity#getParentEnd()
2182 */
2183 public EntityAssociationEnd getParentEnd()
2184 {
2185 return this.getSuperEJB3EntityFacade().getParentEnd();
2186 }
2187
2188 /**
2189 * Gets all properties of this entity, this includes the attributes and navigable association
2190 * ends of the entity. The 'follow' flag indcates whether or not the inheritance hierarchy
2191 * should be followed when getting all the properties. The 'withIdentifiers' flag indicates
2192 * whether or not identifiers should be included in the collection of properties.
2193 * @see org.andromda.metafacades.uml.Entity#getProperties(boolean follow, boolean withIdentifiers)
2194 */
2195 public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers)
2196 {
2197 return this.getSuperEJB3EntityFacade().getProperties(follow, withIdentifiers);
2198 }
2199
2200 /**
2201 * Returns all the operations that can perform queries on the entity.
2202 * @see org.andromda.metafacades.uml.Entity#getQueryOperations()
2203 */
2204 public Collection<EntityQueryOperation> getQueryOperations()
2205 {
2206 return this.getSuperEJB3EntityFacade().getQueryOperations();
2207 }
2208
2209 /**
2210 * Gets all query operations for an entity. If 'follow' is true, and if no query operations can
2211 * be found on the entity, a search up the inheritance chain will be performed, and the
2212 * identifiers from the first super class having them will be used. If no identifiers exist, a
2213 * default identifier will be created if the allowDefaultIdentifiers property is set to true.
2214 * @see org.andromda.metafacades.uml.Entity#getQueryOperations(boolean follow)
2215 */
2216 public Collection<OperationFacade> getQueryOperations(boolean follow)
2217 {
2218 return this.getSuperEJB3EntityFacade().getQueryOperations(follow);
2219 }
2220
2221 /**
2222 * Gets a comma separated list of required attribute names. If 'follow' is true, will travel up
2223 * the inheritance hierarchy to include attributes in parent entities as well. If
2224 * 'withIdentifiers' is true, will include identifiers.
2225 * @see org.andromda.metafacades.uml.Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
2226 */
2227 public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
2228 {
2229 return this.getSuperEJB3EntityFacade().getRequiredAttributeNameList(follow, withIdentifiers);
2230 }
2231
2232 /**
2233 * Gets a comma separated list of attribute types with are required. If 'follow' is true, will
2234 * travel up the inheritance hierarchy to include attributes in parent entities as well. If
2235 * 'withIdentifiers' is true, will include identifiers.
2236 * @see org.andromda.metafacades.uml.Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
2237 */
2238 public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
2239 {
2240 return this.getSuperEJB3EntityFacade().getRequiredAttributeTypeList(follow, withIdentifiers);
2241 }
2242
2243 /**
2244 * Returns all attributes that are specified as 'required' in the model. If 'follow' is true,
2245 * then required attributes in super classes will also be returned, if false, just the ones
2246 * directly on the entity will be returned. If 'withIdentifiers' is true, the identifiers will
2247 * be include, if false, no identifiers will be included.
2248 * @see org.andromda.metafacades.uml.Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers)
2249 */
2250 public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers)
2251 {
2252 return this.getSuperEJB3EntityFacade().getRequiredAttributes(follow, withIdentifiers);
2253 }
2254
2255 /**
2256 * Gets all required properties for this entity. These consist of any required attributes as
2257 * well as navigable associations that are marked as 'required'. If 'follow' is true, then the
2258 * inheritance hierchy will be followed and all required properties from super classes will be
2259 * included as well.
2260 * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will
2261 * be included.
2262 * @see org.andromda.metafacades.uml.Entity#getRequiredProperties(boolean follow, boolean withIdentifiers)
2263 */
2264 public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers)
2265 {
2266 return this.getSuperEJB3EntityFacade().getRequiredProperties(follow, withIdentifiers);
2267 }
2268
2269 /**
2270 * Creates a comma separated list of the required property names.
2271 * @see org.andromda.metafacades.uml.Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
2272 */
2273 public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
2274 {
2275 return this.getSuperEJB3EntityFacade().getRequiredPropertyNameList(follow, withIdentifiers);
2276 }
2277
2278 /**
2279 * A comma separated list of the required property types.
2280 * @see org.andromda.metafacades.uml.Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
2281 */
2282 public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
2283 {
2284 return this.getSuperEJB3EntityFacade().getRequiredPropertyTypeList(follow, withIdentifiers);
2285 }
2286
2287 /**
2288 * The name of the schema that contains the database table
2289 * @see org.andromda.metafacades.uml.Entity#getSchema()
2290 */
2291 public String getSchema()
2292 {
2293 return this.getSuperEJB3EntityFacade().getSchema();
2294 }
2295
2296 /**
2297 * The name of the database table to which this entity is persisted.
2298 * @see org.andromda.metafacades.uml.Entity#getTableName()
2299 */
2300 public String getTableName()
2301 {
2302 return this.getSuperEJB3EntityFacade().getTableName();
2303 }
2304
2305 /**
2306 * Returns true/false depending on whether or not this entity represetns a child in an
2307 * association (this occurs when this entity is on the opposite end of an assocation end defined
2308 * as composite).
2309 * @see org.andromda.metafacades.uml.Entity#isChild()
2310 */
2311 public boolean isChild()
2312 {
2313 return this.getSuperEJB3EntityFacade().isChild();
2314 }
2315
2316 /**
2317 * True if this entity identifier is a composite (consists of multiple key columns, typically
2318 * abstracted into an external composite identifier class)
2319 * @see org.andromda.metafacades.uml.Entity#isCompositeIdentifier()
2320 */
2321 public boolean isCompositeIdentifier()
2322 {
2323 return this.getSuperEJB3EntityFacade().isCompositeIdentifier();
2324 }
2325
2326 /**
2327 * True if the entity has its identifiers dynamically added, false otherwise.
2328 * @see org.andromda.metafacades.uml.Entity#isDynamicIdentifiersPresent()
2329 */
2330 public boolean isDynamicIdentifiersPresent()
2331 {
2332 return this.getSuperEJB3EntityFacade().isDynamicIdentifiersPresent();
2333 }
2334
2335 /**
2336 * True if the entity has any identifiers defined, false otherwise.
2337 * @see org.andromda.metafacades.uml.Entity#isIdentifiersPresent()
2338 */
2339 public boolean isIdentifiersPresent()
2340 {
2341 return this.getSuperEJB3EntityFacade().isIdentifiersPresent();
2342 }
2343
2344 /**
2345 * Indiciates if this entity is using an assigned identifier or not.
2346 * @see org.andromda.metafacades.uml.Entity#isUsingAssignedIdentifier()
2347 */
2348 public boolean isUsingAssignedIdentifier()
2349 {
2350 return this.getSuperEJB3EntityFacade().isUsingAssignedIdentifier();
2351 }
2352
2353 /**
2354 * Indicates whether or not this entity is using a foreign identifier as its identifiers. That
2355 * is: the foreignIdentifier flag was set on an incoming association end and the entity is
2356 * therefore using the related foreign parent entity's identifier.
2357 * @see org.andromda.metafacades.uml.Entity#isUsingForeignIdentifier()
2358 */
2359 public boolean isUsingForeignIdentifier()
2360 {
2361 return this.getSuperEJB3EntityFacade().isUsingForeignIdentifier();
2362 }
2363
2364 /**
2365 * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set
2366 * to true.
2367 * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow)
2368 */
2369 public Object findTaggedValue(String tagName, boolean follow)
2370 {
2371 return this.getSuperEJB3EntityFacade().findTaggedValue(tagName, follow);
2372 }
2373
2374 /**
2375 * All generalizations for this generalizable element, goes up the inheritance tree.
2376 * @see GeneralizableElementFacade#getAllGeneralizations()
2377 */
2378 public Collection<GeneralizableElementFacade> getAllGeneralizations()
2379 {
2380 return this.getSuperEJB3EntityFacade().getAllGeneralizations();
2381 }
2382
2383 /**
2384 * All specializations (travels down the inheritance hierarchy).
2385 * @see GeneralizableElementFacade#getAllSpecializations()
2386 */
2387 public Collection<GeneralizableElementFacade> getAllSpecializations()
2388 {
2389 return this.getSuperEJB3EntityFacade().getAllSpecializations();
2390 }
2391
2392 /**
2393 * Gets the direct generalization for this generalizable element.
2394 * @see GeneralizableElementFacade#getGeneralization()
2395 */
2396 public GeneralizableElementFacade getGeneralization()
2397 {
2398 return this.getSuperEJB3EntityFacade().getGeneralization();
2399 }
2400
2401 /**
2402 * Gets the actual links that this generalization element is part of (it plays either the
2403 * specialization or generalization).
2404 * @see GeneralizableElementFacade#getGeneralizationLinks()
2405 */
2406 public Collection<GeneralizationFacade> getGeneralizationLinks()
2407 {
2408 return this.getSuperEJB3EntityFacade().getGeneralizationLinks();
2409 }
2410
2411 /**
2412 * A comma separated list of the fully qualified names of all generalizations.
2413 * @see GeneralizableElementFacade#getGeneralizationList()
2414 */
2415 public String getGeneralizationList()
2416 {
2417 return this.getSuperEJB3EntityFacade().getGeneralizationList();
2418 }
2419
2420 /**
2421 * The element found when you recursively follow the generalization path up to the root. If an
2422 * element has no generalization itself will be considered the root.
2423 * @see GeneralizableElementFacade#getGeneralizationRoot()
2424 */
2425 public GeneralizableElementFacade getGeneralizationRoot()
2426 {
2427 return this.getSuperEJB3EntityFacade().getGeneralizationRoot();
2428 }
2429
2430 /**
2431 * Return all generalizations (ancestors) from this generalizable element.
2432 * @see GeneralizableElementFacade#getGeneralizations()
2433 */
2434 public Collection<GeneralizableElementFacade> getGeneralizations()
2435 {
2436 return this.getSuperEJB3EntityFacade().getGeneralizations();
2437 }
2438
2439 /**
2440 * Gets the direct specializations (i.e. sub elements) for this generalizatble element.
2441 * @see GeneralizableElementFacade#getSpecializations()
2442 */
2443 public Collection<GeneralizableElementFacade> getSpecializations()
2444 {
2445 return this.getSuperEJB3EntityFacade().getSpecializations();
2446 }
2447
2448 /**
2449 * Copies all tagged values from the given ModelElementFacade to this model element facade.
2450 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
2451 */
2452 public void copyTaggedValues(ModelElementFacade element)
2453 {
2454 this.getSuperEJB3EntityFacade().copyTaggedValues(element);
2455 }
2456
2457 /**
2458 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
2459 * one found will be returned.
2460 * @see ModelElementFacade#findTaggedValue(String tagName)
2461 */
2462 public Object findTaggedValue(String tagName)
2463 {
2464 return this.getSuperEJB3EntityFacade().findTaggedValue(tagName);
2465 }
2466
2467 /**
2468 * Returns all the values for the tagged value with the specified name. The returned collection
2469 * will contains only String instances, or will be empty. Never null.
2470 * @see ModelElementFacade#findTaggedValues(String tagName)
2471 */
2472 public Collection<Object> findTaggedValues(String tagName)
2473 {
2474 return this.getSuperEJB3EntityFacade().findTaggedValues(tagName);
2475 }
2476
2477 /**
2478 * Returns the fully qualified name of the model element. The fully qualified name includes
2479 * complete package qualified name of the underlying model element. The templates parameter will
2480 * be replaced by the correct one given the binding relation of the parameter to this element.
2481 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2482 */
2483 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2484 {
2485 return this.getSuperEJB3EntityFacade().getBindedFullyQualifiedName(bindedElement);
2486 }
2487
2488 /**
2489 * Gets all constraints belonging to the model element.
2490 * @see ModelElementFacade#getConstraints()
2491 */
2492 public Collection<ConstraintFacade> getConstraints()
2493 {
2494 return this.getSuperEJB3EntityFacade().getConstraints();
2495 }
2496
2497 /**
2498 * Returns the constraints of the argument kind that have been placed onto this model. Typical
2499 * kinds are "inv", "pre" and "post". Other kinds are possible.
2500 * @see ModelElementFacade#getConstraints(String kind)
2501 */
2502 public Collection<ConstraintFacade> getConstraints(String kind)
2503 {
2504 return this.getSuperEJB3EntityFacade().getConstraints(kind);
2505 }
2506
2507 /**
2508 * Gets the documentation for the model element, The indent argument is prefixed to each line.
2509 * By default this method wraps lines after 64 characters.
2510 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
2511 * @see ModelElementFacade#getDocumentation(String indent)
2512 */
2513 public String getDocumentation(String indent)
2514 {
2515 return this.getSuperEJB3EntityFacade().getDocumentation(indent);
2516 }
2517
2518 /**
2519 * This method returns the documentation for this model element, with the lines wrapped after
2520 * the specified number of characters, values of less than 1 will indicate no line wrapping is
2521 * required. By default paragraphs are returned as HTML.
2522 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
2523 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
2524 */
2525 public String getDocumentation(String indent, int lineLength)
2526 {
2527 return this.getSuperEJB3EntityFacade().getDocumentation(indent, lineLength);
2528 }
2529
2530 /**
2531 * This method returns the documentation for this model element, with the lines wrapped after
2532 * the specified number of characters, values of less than 1 will indicate no line wrapping is
2533 * required. HTML style determines if HTML Escaping is applied.
2534 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
2535 */
2536 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
2537 {
2538 return this.getSuperEJB3EntityFacade().getDocumentation(indent, lineLength, htmlStyle);
2539 }
2540
2541 /**
2542 * The fully qualified name of this model element.
2543 * @see ModelElementFacade#getFullyQualifiedName()
2544 */
2545 public String getFullyQualifiedName()
2546 {
2547 return this.getSuperEJB3EntityFacade().getFullyQualifiedName();
2548 }
2549
2550 /**
2551 * Returns the fully qualified name of the model element. The fully qualified name includes
2552 * complete package qualified name of the underlying model element. If modelName is true, then
2553 * the original name of the model element (the name contained within the model) will be the name
2554 * returned, otherwise a name from a language mapping will be returned.
2555 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
2556 */
2557 public String getFullyQualifiedName(boolean modelName)
2558 {
2559 return this.getSuperEJB3EntityFacade().getFullyQualifiedName(modelName);
2560 }
2561
2562 /**
2563 * Returns the fully qualified name as a path, the returned value always starts with out a slash
2564 * '/'.
2565 * @see ModelElementFacade#getFullyQualifiedNamePath()
2566 */
2567 public String getFullyQualifiedNamePath()
2568 {
2569 return this.getSuperEJB3EntityFacade().getFullyQualifiedNamePath();
2570 }
2571
2572 /**
2573 * Gets the unique identifier of the underlying model element.
2574 * @see ModelElementFacade#getId()
2575 */
2576 public String getId()
2577 {
2578 return this.getSuperEJB3EntityFacade().getId();
2579 }
2580
2581 /**
2582 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
2583 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
2584 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
2585 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
2586 * JDK5 compiler level.
2587 * @see ModelElementFacade#getKeywords()
2588 */
2589 public Collection<String> getKeywords()
2590 {
2591 return this.getSuperEJB3EntityFacade().getKeywords();
2592 }
2593
2594 /**
2595 * UML2: Retrieves a localized label for this named element.
2596 * @see ModelElementFacade#getLabel()
2597 */
2598 public String getLabel()
2599 {
2600 return this.getSuperEJB3EntityFacade().getLabel();
2601 }
2602
2603 /**
2604 * The language mappings that have been set for this model element.
2605 * @see ModelElementFacade#getLanguageMappings()
2606 */
2607 public TypeMappings getLanguageMappings()
2608 {
2609 return this.getSuperEJB3EntityFacade().getLanguageMappings();
2610 }
2611
2612 /**
2613 * Return the model containing this model element (multiple models may be loaded and processed
2614 * at the same time).
2615 * @see ModelElementFacade#getModel()
2616 */
2617 public ModelFacade getModel()
2618 {
2619 return this.getSuperEJB3EntityFacade().getModel();
2620 }
2621
2622 /**
2623 * The name of the model element.
2624 * @see ModelElementFacade#getName()
2625 */
2626 public String getName()
2627 {
2628 return this.getSuperEJB3EntityFacade().getName();
2629 }
2630
2631 /**
2632 * Gets the package to which this model element belongs.
2633 * @see ModelElementFacade#getPackage()
2634 */
2635 public ModelElementFacade getPackage()
2636 {
2637 return this.getSuperEJB3EntityFacade().getPackage();
2638 }
2639
2640 /**
2641 * The name of this model element's package.
2642 * @see ModelElementFacade#getPackageName()
2643 */
2644 public String getPackageName()
2645 {
2646 return this.getSuperEJB3EntityFacade().getPackageName();
2647 }
2648
2649 /**
2650 * Gets the package name (optionally providing the ability to retrieve the model name and not
2651 * the mapped name).
2652 * @see ModelElementFacade#getPackageName(boolean modelName)
2653 */
2654 public String getPackageName(boolean modelName)
2655 {
2656 return this.getSuperEJB3EntityFacade().getPackageName(modelName);
2657 }
2658
2659 /**
2660 * Returns the package as a path, the returned value always starts with out a slash '/'.
2661 * @see ModelElementFacade#getPackagePath()
2662 */
2663 public String getPackagePath()
2664 {
2665 return this.getSuperEJB3EntityFacade().getPackagePath();
2666 }
2667
2668 /**
2669 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
2670 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
2671 * the names of the containing namespaces starting at the root of the hierarchy and ending with
2672 * the name of the NamedElement itself.
2673 * @see ModelElementFacade#getQualifiedName()
2674 */
2675 public String getQualifiedName()
2676 {
2677 return this.getSuperEJB3EntityFacade().getQualifiedName();
2678 }
2679
2680 /**
2681 * Gets the root package for the model element.
2682 * @see ModelElementFacade#getRootPackage()
2683 */
2684 public PackageFacade getRootPackage()
2685 {
2686 return this.getSuperEJB3EntityFacade().getRootPackage();
2687 }
2688
2689 /**
2690 * Gets the dependencies for which this model element is the source.
2691 * @see ModelElementFacade#getSourceDependencies()
2692 */
2693 public Collection<DependencyFacade> getSourceDependencies()
2694 {
2695 return this.getSuperEJB3EntityFacade().getSourceDependencies();
2696 }
2697
2698 /**
2699 * If this model element is the context of an activity graph, this represents that activity
2700 * graph.
2701 * @see ModelElementFacade#getStateMachineContext()
2702 */
2703 public StateMachineFacade getStateMachineContext()
2704 {
2705 return this.getSuperEJB3EntityFacade().getStateMachineContext();
2706 }
2707
2708 /**
2709 * The collection of ALL stereotype names for this model element.
2710 * @see ModelElementFacade#getStereotypeNames()
2711 */
2712 public Collection<String> getStereotypeNames()
2713 {
2714 return this.getSuperEJB3EntityFacade().getStereotypeNames();
2715 }
2716
2717 /**
2718 * Gets all stereotypes for this model element.
2719 * @see ModelElementFacade#getStereotypes()
2720 */
2721 public Collection<StereotypeFacade> getStereotypes()
2722 {
2723 return this.getSuperEJB3EntityFacade().getStereotypes();
2724 }
2725
2726 /**
2727 * Return the TaggedValues associated with this model element, under all stereotypes.
2728 * @see ModelElementFacade#getTaggedValues()
2729 */
2730 public Collection<TaggedValueFacade> getTaggedValues()
2731 {
2732 return this.getSuperEJB3EntityFacade().getTaggedValues();
2733 }
2734
2735 /**
2736 * Gets the dependencies for which this model element is the target.
2737 * @see ModelElementFacade#getTargetDependencies()
2738 */
2739 public Collection<DependencyFacade> getTargetDependencies()
2740 {
2741 return this.getSuperEJB3EntityFacade().getTargetDependencies();
2742 }
2743
2744 /**
2745 * Get the template parameter for this model element having the parameterName
2746 * @see ModelElementFacade#getTemplateParameter(String parameterName)
2747 */
2748 public Object getTemplateParameter(String parameterName)
2749 {
2750 return this.getSuperEJB3EntityFacade().getTemplateParameter(parameterName);
2751 }
2752
2753 /**
2754 * Get the template parameters for this model element
2755 * @see ModelElementFacade#getTemplateParameters()
2756 */
2757 public Collection<TemplateParameterFacade> getTemplateParameters()
2758 {
2759 return this.getSuperEJB3EntityFacade().getTemplateParameters();
2760 }
2761
2762 /**
2763 * The visibility (i.e. public, private, protected or package) of the model element, will
2764 * attempt a lookup for these values in the language mappings (if any).
2765 * @see ModelElementFacade#getVisibility()
2766 */
2767 public String getVisibility()
2768 {
2769 return this.getSuperEJB3EntityFacade().getVisibility();
2770 }
2771
2772 /**
2773 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
2774 * is taken into account when searching for the stereotype), false otherwise.
2775 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
2776 */
2777 public boolean hasExactStereotype(String stereotypeName)
2778 {
2779 return this.getSuperEJB3EntityFacade().hasExactStereotype(stereotypeName);
2780 }
2781
2782 /**
2783 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
2784 * pipe, semicolon, or << >>
2785 * @see ModelElementFacade#hasKeyword(String keywordName)
2786 */
2787 public boolean hasKeyword(String keywordName)
2788 {
2789 return this.getSuperEJB3EntityFacade().hasKeyword(keywordName);
2790 }
2791
2792 /**
2793 * Returns true if the model element has the specified stereotype. If the stereotype itself
2794 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
2795 * one of the stereotype's ancestors has a matching name this method will return true, false
2796 * otherwise.
2797 * For example, if we have a certain stereotype called <<exception>> and a model element has a
2798 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
2799 * method with 'stereotypeName' defined as 'exception' the method would return true since
2800 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
2801 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
2802 * @see ModelElementFacade#hasStereotype(String stereotypeName)
2803 */
2804 public boolean hasStereotype(String stereotypeName)
2805 {
2806 return this.getSuperEJB3EntityFacade().hasStereotype(stereotypeName);
2807 }
2808
2809 /**
2810 * True if there are target dependencies from this element that are instances of BindingFacade.
2811 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
2812 * @see ModelElementFacade#isBindingDependenciesPresent()
2813 */
2814 public boolean isBindingDependenciesPresent()
2815 {
2816 return this.getSuperEJB3EntityFacade().isBindingDependenciesPresent();
2817 }
2818
2819 /**
2820 * Indicates if any constraints are present on this model element.
2821 * @see ModelElementFacade#isConstraintsPresent()
2822 */
2823 public boolean isConstraintsPresent()
2824 {
2825 return this.getSuperEJB3EntityFacade().isConstraintsPresent();
2826 }
2827
2828 /**
2829 * Indicates if any documentation is present on this model element.
2830 * @see ModelElementFacade#isDocumentationPresent()
2831 */
2832 public boolean isDocumentationPresent()
2833 {
2834 return this.getSuperEJB3EntityFacade().isDocumentationPresent();
2835 }
2836
2837 /**
2838 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
2839 * @see ModelElementFacade#isReservedWord()
2840 */
2841 public boolean isReservedWord()
2842 {
2843 return this.getSuperEJB3EntityFacade().isReservedWord();
2844 }
2845
2846 /**
2847 * True is there are template parameters on this model element. For UML2, applies to Class,
2848 * Operation, Property, and Parameter.
2849 * @see ModelElementFacade#isTemplateParametersPresent()
2850 */
2851 public boolean isTemplateParametersPresent()
2852 {
2853 return this.getSuperEJB3EntityFacade().isTemplateParametersPresent();
2854 }
2855
2856 /**
2857 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
2858 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
2859 * Enumerations and Interfaces, optionally applies on other model elements.
2860 * @see ModelElementFacade#isValidIdentifierName()
2861 */
2862 public boolean isValidIdentifierName()
2863 {
2864 return this.getSuperEJB3EntityFacade().isValidIdentifierName();
2865 }
2866
2867 /**
2868 * Searches for the constraint with the specified 'name' on this model element, and if found
2869 * translates it using the specified 'translation' from a translation library discovered by the
2870 * framework.
2871 * @see ModelElementFacade#translateConstraint(String name, String translation)
2872 */
2873 public String translateConstraint(String name, String translation)
2874 {
2875 return this.getSuperEJB3EntityFacade().translateConstraint(name, translation);
2876 }
2877
2878 /**
2879 * Translates all constraints belonging to this model element with the given 'translation'.
2880 * @see ModelElementFacade#translateConstraints(String translation)
2881 */
2882 public String[] translateConstraints(String translation)
2883 {
2884 return this.getSuperEJB3EntityFacade().translateConstraints(translation);
2885 }
2886
2887 /**
2888 * Translates the constraints of the specified 'kind' belonging to this model element.
2889 * @see ModelElementFacade#translateConstraints(String kind, String translation)
2890 */
2891 public String[] translateConstraints(String kind, String translation)
2892 {
2893 return this.getSuperEJB3EntityFacade().translateConstraints(kind, translation);
2894 }
2895
2896 // ----------- delegates to ManageableEntity ------------
2897 /**
2898 * All entities to which can be browsed from this entity. Currently this property will simple
2899 * hold all entities, so the value is the same for any arbitrary entity. Hiding entities can be
2900 * done in the presentation tier, for example depending on runtime security information.
2901 * @see ManageableEntity#getAllManageables()
2902 */
2903 public List<ManageableEntity> getAllManageables()
2904 {
2905 return this.getSuperManageableEntity().getAllManageables();
2906 }
2907
2908 /**
2909 * The attribute used as a key link to display values for this entity.
2910 * @see ManageableEntity#getDisplayAttribute()
2911 */
2912 public ManageableEntityAttribute getDisplayAttribute()
2913 {
2914 return this.getSuperManageableEntity().getDisplayAttribute();
2915 }
2916
2917 /**
2918 * The fully qualified service name of the entity.
2919 * @see ManageableEntity#getFullyQualifiedManageableServiceName()
2920 */
2921 public String getFullyQualifiedManageableServiceName()
2922 {
2923 return this.getSuperManageableEntity().getFullyQualifiedManageableServiceName();
2924 }
2925
2926 /**
2927 * The associations to other entities from this entity.
2928 * @see ManageableEntity#getManageableAssociationEnds()
2929 */
2930 public List<ManageableEntityAssociationEnd> getManageableAssociationEnds()
2931 {
2932 return this.getSuperManageableEntity().getManageableAssociationEnds();
2933 }
2934
2935 /**
2936 * Lists the attributes that can be managed for this entity. This feature is particularly
2937 * important when resolving inherited attributes and ids.
2938 * @see ManageableEntity#getManageableAttributes()
2939 */
2940 public List<ManageableEntityAttribute> getManageableAttributes()
2941 {
2942 return this.getSuperManageableEntity().getManageableAttributes();
2943 }
2944
2945 /**
2946 * The identifier used when managing this entity.
2947 * @see ManageableEntity#getManageableIdentifier()
2948 */
2949 public ManageableEntityAttribute getManageableIdentifier()
2950 {
2951 return this.getSuperManageableEntity().getManageableIdentifier();
2952 }
2953
2954 /**
2955 * ManageableAttributes and ManageableAssociationEnds
2956 * @see ManageableEntity#getManageableMembers()
2957 */
2958 public List<ModelElementFacade> getManageableMembers()
2959 {
2960 return this.getSuperManageableEntity().getManageableMembers();
2961 }
2962
2963 /**
2964 * The entity package name.
2965 * @see ManageableEntity#getManageablePackageName()
2966 */
2967 public String getManageablePackageName()
2968 {
2969 return this.getSuperManageableEntity().getManageablePackageName();
2970 }
2971
2972 /**
2973 * The Package path of the Entity
2974 * @see ManageableEntity#getManageablePackagePath()
2975 */
2976 public String getManageablePackagePath()
2977 {
2978 return this.getSuperManageableEntity().getManageablePackagePath();
2979 }
2980
2981 /**
2982 * The entity accessor (getter) call.
2983 * @see ManageableEntity#getManageableServiceAccessorCall()
2984 */
2985 public String getManageableServiceAccessorCall()
2986 {
2987 return this.getSuperManageableEntity().getManageableServiceAccessorCall();
2988 }
2989
2990 /**
2991 * The service full path of the entity.
2992 * @see ManageableEntity#getManageableServiceFullPath()
2993 */
2994 public String getManageableServiceFullPath()
2995 {
2996 return this.getSuperManageableEntity().getManageableServiceFullPath();
2997 }
2998
2999 /**
3000 * The service name of the entity.
3001 * @see ManageableEntity#getManageableServiceName()
3002 */
3003 public String getManageableServiceName()
3004 {
3005 return this.getSuperManageableEntity().getManageableServiceName();
3006 }
3007
3008 /**
3009 * The maximum number of rows to load from the database.
3010 * @see ManageableEntity#getMaximumListSize()
3011 */
3012 public int getMaximumListSize()
3013 {
3014 return this.getSuperManageableEntity().getMaximumListSize();
3015 }
3016
3017 /**
3018 * The maximum number of rows to load from the database.
3019 * @see ManageableEntity#getPageSize()
3020 */
3021 public int getPageSize()
3022 {
3023 return this.getSuperManageableEntity().getPageSize();
3024 }
3025
3026 /**
3027 * Other Manageable Entities which reference this entity.
3028 * @see ManageableEntity#getReferencingManageables()
3029 */
3030 public List<ManageableEntity> getReferencingManageables()
3031 {
3032 return this.getSuperManageableEntity().getReferencingManageables();
3033 }
3034
3035 /**
3036 * The Actors (Roles) which can manage the Entity.
3037 * @see ManageableEntity#getUsers()
3038 */
3039 public List<ActorFacade> getUsers()
3040 {
3041 return this.getSuperManageableEntity().getUsers();
3042 }
3043
3044 /**
3045 * Create a create operation on the entity manager?
3046 * @see ManageableEntity#isCreate()
3047 */
3048 public boolean isCreate()
3049 {
3050 return this.getSuperManageableEntity().isCreate();
3051 }
3052
3053 /**
3054 * Create a delete operation on the entity manager?
3055 * @see ManageableEntity#isDelete()
3056 */
3057 public boolean isDelete()
3058 {
3059 return this.getSuperManageableEntity().isDelete();
3060 }
3061
3062 /**
3063 * Create a read operation on the entity manager?
3064 * @see ManageableEntity#isRead()
3065 */
3066 public boolean isRead()
3067 {
3068 return this.getSuperManageableEntity().isRead();
3069 }
3070
3071 /**
3072 * The maximum number of rows to load from the database.
3073 * @see ManageableEntity#isResolveable()
3074 */
3075 public boolean isResolveable()
3076 {
3077 return this.getSuperManageableEntity().isResolveable();
3078 }
3079
3080 /**
3081 * Create an update operation on the entity manager?
3082 * @see ManageableEntity#isUpdate()
3083 */
3084 public boolean isUpdate()
3085 {
3086 return this.getSuperManageableEntity().isUpdate();
3087 }
3088
3089 /**
3090 * Returns a string with the attributes without wrapper types.
3091 * @see ManageableEntity#listManageableMembers(boolean withTypes)
3092 */
3093 public String listManageableMembers(boolean withTypes)
3094 {
3095 return this.getSuperManageableEntity().listManageableMembers(withTypes);
3096 }
3097
3098 /**
3099 * Returns a string with the attributes and wrapper types.
3100 * @see ManageableEntity#listManageableMembersWithWrapperTypes()
3101 */
3102 public String listManageableMembersWithWrapperTypes()
3103 {
3104 return this.getSuperManageableEntity().listManageableMembersWithWrapperTypes();
3105 }
3106
3107 /**
3108 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
3109 */
3110 @Override
3111 public void initialize()
3112 {
3113 this.getSuperEJB3EntityFacade().initialize();
3114 this.getSuperManageableEntity().initialize();
3115 }
3116
3117 /**
3118 * @return Object getSuperEJB3EntityFacade().getValidationOwner()
3119 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
3120 */
3121 @Override
3122 public Object getValidationOwner()
3123 {
3124 Object owner = this.getSuperEJB3EntityFacade().getValidationOwner();
3125 if (owner == null)
3126 {
3127 owner = this.getSuperManageableEntity().getValidationOwner();
3128 }
3129 return owner;
3130 }
3131
3132 /**
3133 * @return String getSuperEJB3EntityFacade().getValidationName()
3134 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
3135 */
3136 @Override
3137 public String getValidationName()
3138 {
3139 String name = this.getSuperEJB3EntityFacade().getValidationName();
3140 if (name == null)
3141 {
3142 name = this.getSuperManageableEntity().getValidationName();
3143 }
3144 return name;
3145 }
3146
3147 /**
3148 * @param validationMessages Collection<ModelValidationMessage>
3149 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
3150 */
3151 @Override
3152 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
3153 {
3154 this.getSuperEJB3EntityFacade().validateInvariants(validationMessages);
3155 this.getSuperManageableEntity().validateInvariants(validationMessages);
3156 }
3157
3158 /**
3159 * The property that stores the name of the metafacade.
3160 */
3161 private static final String NAME_PROPERTY = "name";
3162 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
3163
3164 /**
3165 * @see Object#toString()
3166 */
3167 @Override
3168 public String toString()
3169 {
3170 final StringBuilder toString = new StringBuilder(this.getClass().getName());
3171 toString.append("[");
3172 try
3173 {
3174 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
3175 }
3176 catch (final Throwable tryAgain)
3177 {
3178 try
3179 {
3180 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
3181 }
3182 catch (final Throwable ignore)
3183 {
3184 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
3185 }
3186 }
3187 toString.append("]");
3188 return toString.toString();
3189 }
3190 }