View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4   //
5   package org.andromda.cartridges.bpm4struts.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.StateMachineFacade;
31  import org.andromda.metafacades.uml.StereotypeFacade;
32  import org.andromda.metafacades.uml.TaggedValueFacade;
33  import org.andromda.metafacades.uml.TemplateParameterFacade;
34  import org.andromda.metafacades.uml.TypeMappings;
35  
36  /**
37   * TODO: Model Documentation for
38   * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity
39   * MetafacadeLogic for StrutsManageableEntity
40   *
41   * @see StrutsManageableEntity
42   */
43  public abstract class StrutsManageableEntityLogic
44      extends MetafacadeBase
45      implements StrutsManageableEntity
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 StrutsManageableEntityLogic(Object metaObjectIn, String context)
58      {
59          super(metaObjectIn, getContext(context));
60          this.superManageableEntity =
61             (ManageableEntity)
62              MetafacadeFactory.getInstance().createFacadeImpl(
63                      "org.andromda.metafacades.uml.ManageableEntity",
64                      metaObjectIn,
65                      getContext(context));
66          this.metaObject = metaObjectIn;
67      }
68  
69      /**
70       * Gets the context for this metafacade logic instance.
71       * @param context String. Set to StrutsManageableEntity if null
72       * @return context String
73       */
74      private static String getContext(String context)
75      {
76          if (context == null)
77          {
78              context = "org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity";
79          }
80          return context;
81      }
82  
83      private ManageableEntity superManageableEntity;
84      private boolean superManageableEntityInitialized = false;
85  
86      /**
87       * Gets the ManageableEntity parent instance.
88       * @return this.superManageableEntity ManageableEntity
89       */
90      private ManageableEntity getSuperManageableEntity()
91      {
92          if (!this.superManageableEntityInitialized)
93          {
94              ((MetafacadeBase)this.superManageableEntity).setMetafacadeContext(this.getMetafacadeContext());
95              this.superManageableEntityInitialized = true;
96          }
97          return this.superManageableEntity;
98      }
99  
100     /** Reset context only for non-root metafacades
101      * @param context
102      * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
103      */
104     @Override
105     public void resetMetafacadeContext(String context)
106     {
107         if (!this.contextRoot) // reset context only for non-root metafacades
108         {
109             context = getContext(context);  // to have same value as in original constructor call
110             setMetafacadeContext (context);
111             if (this.superManageableEntityInitialized)
112             {
113                 ((MetafacadeBase)this.superManageableEntity).resetMetafacadeContext(context);
114             }
115         }
116     }
117 
118     /**
119      * @return boolean true always
120      * @see StrutsManageableEntity
121      */
122     public boolean isStrutsManageableEntityMetaType()
123     {
124         return true;
125     }
126 
127     // --------------- attributes ---------------------
128 
129    /**
130     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getPageName()
131     * @return String
132     */
133     protected abstract String handleGetPageName();
134 
135     private String __pageName1a;
136     private boolean __pageName1aSet = false;
137 
138     /**
139      * TODO: Model Documentation for
140      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.pageName
141      * @return (String)handleGetPageName()
142      */
143     public final String getPageName()
144     {
145         String pageName1a = this.__pageName1a;
146         if (!this.__pageName1aSet)
147         {
148             // pageName has no pre constraints
149             pageName1a = handleGetPageName();
150             // pageName has no post constraints
151             this.__pageName1a = pageName1a;
152             if (isMetafacadePropertyCachingEnabled())
153             {
154                 this.__pageName1aSet = true;
155             }
156         }
157         return pageName1a;
158     }
159 
160    /**
161     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getPageFullPath()
162     * @return String
163     */
164     protected abstract String handleGetPageFullPath();
165 
166     private String __pageFullPath2a;
167     private boolean __pageFullPath2aSet = false;
168 
169     /**
170      * TODO: Model Documentation for
171      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.pageFullPath
172      * @return (String)handleGetPageFullPath()
173      */
174     public final String getPageFullPath()
175     {
176         String pageFullPath2a = this.__pageFullPath2a;
177         if (!this.__pageFullPath2aSet)
178         {
179             // pageFullPath has no pre constraints
180             pageFullPath2a = handleGetPageFullPath();
181             // pageFullPath has no post constraints
182             this.__pageFullPath2a = pageFullPath2a;
183             if (isMetafacadePropertyCachingEnabled())
184             {
185                 this.__pageFullPath2aSet = true;
186             }
187         }
188         return pageFullPath2a;
189     }
190 
191    /**
192     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getPageTitleKey()
193     * @return String
194     */
195     protected abstract String handleGetPageTitleKey();
196 
197     private String __pageTitleKey3a;
198     private boolean __pageTitleKey3aSet = false;
199 
200     /**
201      * TODO: Model Documentation for
202      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.pageTitleKey
203      * @return (String)handleGetPageTitleKey()
204      */
205     public final String getPageTitleKey()
206     {
207         String pageTitleKey3a = this.__pageTitleKey3a;
208         if (!this.__pageTitleKey3aSet)
209         {
210             // pageTitleKey has no pre constraints
211             pageTitleKey3a = handleGetPageTitleKey();
212             // pageTitleKey has no post constraints
213             this.__pageTitleKey3a = pageTitleKey3a;
214             if (isMetafacadePropertyCachingEnabled())
215             {
216                 this.__pageTitleKey3aSet = true;
217             }
218         }
219         return pageTitleKey3a;
220     }
221 
222    /**
223     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getPageTitleValue()
224     * @return String
225     */
226     protected abstract String handleGetPageTitleValue();
227 
228     private String __pageTitleValue4a;
229     private boolean __pageTitleValue4aSet = false;
230 
231     /**
232      * TODO: Model Documentation for
233      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.pageTitleValue
234      * @return (String)handleGetPageTitleValue()
235      */
236     public final String getPageTitleValue()
237     {
238         String pageTitleValue4a = this.__pageTitleValue4a;
239         if (!this.__pageTitleValue4aSet)
240         {
241             // pageTitleValue has no pre constraints
242             pageTitleValue4a = handleGetPageTitleValue();
243             // pageTitleValue has no post constraints
244             this.__pageTitleValue4a = pageTitleValue4a;
245             if (isMetafacadePropertyCachingEnabled())
246             {
247                 this.__pageTitleValue4aSet = true;
248             }
249         }
250         return pageTitleValue4a;
251     }
252 
253    /**
254     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getListName()
255     * @return String
256     */
257     protected abstract String handleGetListName();
258 
259     private String __listName5a;
260     private boolean __listName5aSet = false;
261 
262     /**
263      * TODO: Model Documentation for
264      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.listName
265      * @return (String)handleGetListName()
266      */
267     public final String getListName()
268     {
269         String listName5a = this.__listName5a;
270         if (!this.__listName5aSet)
271         {
272             // listName has no pre constraints
273             listName5a = handleGetListName();
274             // listName has no post constraints
275             this.__listName5a = listName5a;
276             if (isMetafacadePropertyCachingEnabled())
277             {
278                 this.__listName5aSet = true;
279             }
280         }
281         return listName5a;
282     }
283 
284    /**
285     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getFormBeanType()
286     * @return String
287     */
288     protected abstract String handleGetFormBeanType();
289 
290     private String __formBeanType6a;
291     private boolean __formBeanType6aSet = false;
292 
293     /**
294      * TODO: Model Documentation for
295      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.formBeanType
296      * @return (String)handleGetFormBeanType()
297      */
298     public final String getFormBeanType()
299     {
300         String formBeanType6a = this.__formBeanType6a;
301         if (!this.__formBeanType6aSet)
302         {
303             // formBeanType has no pre constraints
304             formBeanType6a = handleGetFormBeanType();
305             // formBeanType has no post constraints
306             this.__formBeanType6a = formBeanType6a;
307             if (isMetafacadePropertyCachingEnabled())
308             {
309                 this.__formBeanType6aSet = true;
310             }
311         }
312         return formBeanType6a;
313     }
314 
315    /**
316     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getFormBeanName()
317     * @return String
318     */
319     protected abstract String handleGetFormBeanName();
320 
321     private String __formBeanName7a;
322     private boolean __formBeanName7aSet = false;
323 
324     /**
325      * TODO: Model Documentation for
326      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.formBeanName
327      * @return (String)handleGetFormBeanName()
328      */
329     public final String getFormBeanName()
330     {
331         String formBeanName7a = this.__formBeanName7a;
332         if (!this.__formBeanName7aSet)
333         {
334             // formBeanName has no pre constraints
335             formBeanName7a = handleGetFormBeanName();
336             // formBeanName has no post constraints
337             this.__formBeanName7a = formBeanName7a;
338             if (isMetafacadePropertyCachingEnabled())
339             {
340                 this.__formBeanName7aSet = true;
341             }
342         }
343         return formBeanName7a;
344     }
345 
346    /**
347     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getExceptionKey()
348     * @return String
349     */
350     protected abstract String handleGetExceptionKey();
351 
352     private String __exceptionKey8a;
353     private boolean __exceptionKey8aSet = false;
354 
355     /**
356      * TODO: Model Documentation for
357      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.exceptionKey
358      * @return (String)handleGetExceptionKey()
359      */
360     public final String getExceptionKey()
361     {
362         String exceptionKey8a = this.__exceptionKey8a;
363         if (!this.__exceptionKey8aSet)
364         {
365             // exceptionKey has no pre constraints
366             exceptionKey8a = handleGetExceptionKey();
367             // exceptionKey has no post constraints
368             this.__exceptionKey8a = exceptionKey8a;
369             if (isMetafacadePropertyCachingEnabled())
370             {
371                 this.__exceptionKey8aSet = true;
372             }
373         }
374         return exceptionKey8a;
375     }
376 
377    /**
378     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getActionType()
379     * @return String
380     */
381     protected abstract String handleGetActionType();
382 
383     private String __actionType9a;
384     private boolean __actionType9aSet = false;
385 
386     /**
387      * TODO: Model Documentation for
388      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.actionType
389      * @return (String)handleGetActionType()
390      */
391     public final String getActionType()
392     {
393         String actionType9a = this.__actionType9a;
394         if (!this.__actionType9aSet)
395         {
396             // actionType has no pre constraints
397             actionType9a = handleGetActionType();
398             // actionType has no post constraints
399             this.__actionType9a = actionType9a;
400             if (isMetafacadePropertyCachingEnabled())
401             {
402                 this.__actionType9aSet = true;
403             }
404         }
405         return actionType9a;
406     }
407 
408    /**
409     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getActionFullPath()
410     * @return String
411     */
412     protected abstract String handleGetActionFullPath();
413 
414     private String __actionFullPath10a;
415     private boolean __actionFullPath10aSet = false;
416 
417     /**
418      * TODO: Model Documentation for
419      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.actionFullPath
420      * @return (String)handleGetActionFullPath()
421      */
422     public final String getActionFullPath()
423     {
424         String actionFullPath10a = this.__actionFullPath10a;
425         if (!this.__actionFullPath10aSet)
426         {
427             // actionFullPath has no pre constraints
428             actionFullPath10a = handleGetActionFullPath();
429             // actionFullPath has no post constraints
430             this.__actionFullPath10a = actionFullPath10a;
431             if (isMetafacadePropertyCachingEnabled())
432             {
433                 this.__actionFullPath10aSet = true;
434             }
435         }
436         return actionFullPath10a;
437     }
438 
439    /**
440     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getActionPath()
441     * @return String
442     */
443     protected abstract String handleGetActionPath();
444 
445     private String __actionPath11a;
446     private boolean __actionPath11aSet = false;
447 
448     /**
449      * TODO: Model Documentation for
450      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.actionPath
451      * @return (String)handleGetActionPath()
452      */
453     public final String getActionPath()
454     {
455         String actionPath11a = this.__actionPath11a;
456         if (!this.__actionPath11aSet)
457         {
458             // actionPath has no pre constraints
459             actionPath11a = handleGetActionPath();
460             // actionPath has no post constraints
461             this.__actionPath11a = actionPath11a;
462             if (isMetafacadePropertyCachingEnabled())
463             {
464                 this.__actionPath11aSet = true;
465             }
466         }
467         return actionPath11a;
468     }
469 
470    /**
471     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getActionClassName()
472     * @return String
473     */
474     protected abstract String handleGetActionClassName();
475 
476     private String __actionClassName12a;
477     private boolean __actionClassName12aSet = false;
478 
479     /**
480      * TODO: Model Documentation for
481      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.actionClassName
482      * @return (String)handleGetActionClassName()
483      */
484     public final String getActionClassName()
485     {
486         String actionClassName12a = this.__actionClassName12a;
487         if (!this.__actionClassName12aSet)
488         {
489             // actionClassName has no pre constraints
490             actionClassName12a = handleGetActionClassName();
491             // actionClassName has no post constraints
492             this.__actionClassName12a = actionClassName12a;
493             if (isMetafacadePropertyCachingEnabled())
494             {
495                 this.__actionClassName12aSet = true;
496             }
497         }
498         return actionClassName12a;
499     }
500 
501    /**
502     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getExceptionPath()
503     * @return String
504     */
505     protected abstract String handleGetExceptionPath();
506 
507     private String __exceptionPath13a;
508     private boolean __exceptionPath13aSet = false;
509 
510     /**
511      * TODO: Model Documentation for
512      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.exceptionPath
513      * @return (String)handleGetExceptionPath()
514      */
515     public final String getExceptionPath()
516     {
517         String exceptionPath13a = this.__exceptionPath13a;
518         if (!this.__exceptionPath13aSet)
519         {
520             // exceptionPath has no pre constraints
521             exceptionPath13a = handleGetExceptionPath();
522             // exceptionPath has no post constraints
523             this.__exceptionPath13a = exceptionPath13a;
524             if (isMetafacadePropertyCachingEnabled())
525             {
526                 this.__exceptionPath13aSet = true;
527             }
528         }
529         return exceptionPath13a;
530     }
531 
532    /**
533     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#isPreload()
534     * @return boolean
535     */
536     protected abstract boolean handleIsPreload();
537 
538     private boolean __preload14a;
539     private boolean __preload14aSet = false;
540 
541     /**
542      * TODO: Model Documentation for
543      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.preload
544      * @return (boolean)handleIsPreload()
545      */
546     public final boolean isPreload()
547     {
548         boolean preload14a = this.__preload14a;
549         if (!this.__preload14aSet)
550         {
551             // preload has no pre constraints
552             preload14a = handleIsPreload();
553             // preload has no post constraints
554             this.__preload14a = preload14a;
555             if (isMetafacadePropertyCachingEnabled())
556             {
557                 this.__preload14aSet = true;
558             }
559         }
560         return preload14a;
561     }
562 
563    /**
564     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getFormBeanClassName()
565     * @return String
566     */
567     protected abstract String handleGetFormBeanClassName();
568 
569     private String __formBeanClassName15a;
570     private boolean __formBeanClassName15aSet = false;
571 
572     /**
573      * TODO: Model Documentation for
574      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.formBeanClassName
575      * @return (String)handleGetFormBeanClassName()
576      */
577     public final String getFormBeanClassName()
578     {
579         String formBeanClassName15a = this.__formBeanClassName15a;
580         if (!this.__formBeanClassName15aSet)
581         {
582             // formBeanClassName has no pre constraints
583             formBeanClassName15a = handleGetFormBeanClassName();
584             // formBeanClassName has no post constraints
585             this.__formBeanClassName15a = formBeanClassName15a;
586             if (isMetafacadePropertyCachingEnabled())
587             {
588                 this.__formBeanClassName15aSet = true;
589             }
590         }
591         return formBeanClassName15a;
592     }
593 
594    /**
595     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getFormBeanFullPath()
596     * @return String
597     */
598     protected abstract String handleGetFormBeanFullPath();
599 
600     private String __formBeanFullPath16a;
601     private boolean __formBeanFullPath16aSet = false;
602 
603     /**
604      * TODO: Model Documentation for
605      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.formBeanFullPath
606      * @return (String)handleGetFormBeanFullPath()
607      */
608     public final String getFormBeanFullPath()
609     {
610         String formBeanFullPath16a = this.__formBeanFullPath16a;
611         if (!this.__formBeanFullPath16aSet)
612         {
613             // formBeanFullPath has no pre constraints
614             formBeanFullPath16a = handleGetFormBeanFullPath();
615             // formBeanFullPath has no post constraints
616             this.__formBeanFullPath16a = formBeanFullPath16a;
617             if (isMetafacadePropertyCachingEnabled())
618             {
619                 this.__formBeanFullPath16aSet = true;
620             }
621         }
622         return formBeanFullPath16a;
623     }
624 
625    /**
626     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getListGetterName()
627     * @return String
628     */
629     protected abstract String handleGetListGetterName();
630 
631     private String __listGetterName17a;
632     private boolean __listGetterName17aSet = false;
633 
634     /**
635      * TODO: Model Documentation for
636      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.listGetterName
637      * @return (String)handleGetListGetterName()
638      */
639     public final String getListGetterName()
640     {
641         String listGetterName17a = this.__listGetterName17a;
642         if (!this.__listGetterName17aSet)
643         {
644             // listGetterName has no pre constraints
645             listGetterName17a = handleGetListGetterName();
646             // listGetterName has no post constraints
647             this.__listGetterName17a = listGetterName17a;
648             if (isMetafacadePropertyCachingEnabled())
649             {
650                 this.__listGetterName17aSet = true;
651             }
652         }
653         return listGetterName17a;
654     }
655 
656    /**
657     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getListSetterName()
658     * @return String
659     */
660     protected abstract String handleGetListSetterName();
661 
662     private String __listSetterName18a;
663     private boolean __listSetterName18aSet = false;
664 
665     /**
666      * TODO: Model Documentation for
667      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.listSetterName
668      * @return (String)handleGetListSetterName()
669      */
670     public final String getListSetterName()
671     {
672         String listSetterName18a = this.__listSetterName18a;
673         if (!this.__listSetterName18aSet)
674         {
675             // listSetterName has no pre constraints
676             listSetterName18a = handleGetListSetterName();
677             // listSetterName has no post constraints
678             this.__listSetterName18a = listSetterName18a;
679             if (isMetafacadePropertyCachingEnabled())
680             {
681                 this.__listSetterName18aSet = true;
682             }
683         }
684         return listSetterName18a;
685     }
686 
687    /**
688     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getMessageKey()
689     * @return String
690     */
691     protected abstract String handleGetMessageKey();
692 
693     private String __messageKey19a;
694     private boolean __messageKey19aSet = false;
695 
696     /**
697      * TODO: Model Documentation for
698      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.messageKey
699      * @return (String)handleGetMessageKey()
700      */
701     public final String getMessageKey()
702     {
703         String messageKey19a = this.__messageKey19a;
704         if (!this.__messageKey19aSet)
705         {
706             // messageKey has no pre constraints
707             messageKey19a = handleGetMessageKey();
708             // messageKey has no post constraints
709             this.__messageKey19a = messageKey19a;
710             if (isMetafacadePropertyCachingEnabled())
711             {
712                 this.__messageKey19aSet = true;
713             }
714         }
715         return messageKey19a;
716     }
717 
718    /**
719     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getMessageValue()
720     * @return String
721     */
722     protected abstract String handleGetMessageValue();
723 
724     private String __messageValue20a;
725     private boolean __messageValue20aSet = false;
726 
727     /**
728      * TODO: Model Documentation for
729      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.messageValue
730      * @return (String)handleGetMessageValue()
731      */
732     public final String getMessageValue()
733     {
734         String messageValue20a = this.__messageValue20a;
735         if (!this.__messageValue20aSet)
736         {
737             // messageValue has no pre constraints
738             messageValue20a = handleGetMessageValue();
739             // messageValue has no post constraints
740             this.__messageValue20a = messageValue20a;
741             if (isMetafacadePropertyCachingEnabled())
742             {
743                 this.__messageValue20aSet = true;
744             }
745         }
746         return messageValue20a;
747     }
748 
749    /**
750     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getActionParameter()
751     * @return String
752     */
753     protected abstract String handleGetActionParameter();
754 
755     private String __actionParameter21a;
756     private boolean __actionParameter21aSet = false;
757 
758     /**
759      * TODO: Model Documentation for
760      * org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity.actionParameter
761      * @return (String)handleGetActionParameter()
762      */
763     public final String getActionParameter()
764     {
765         String actionParameter21a = this.__actionParameter21a;
766         if (!this.__actionParameter21aSet)
767         {
768             // actionParameter has no pre constraints
769             actionParameter21a = handleGetActionParameter();
770             // actionParameter has no post constraints
771             this.__actionParameter21a = actionParameter21a;
772             if (isMetafacadePropertyCachingEnabled())
773             {
774                 this.__actionParameter21aSet = true;
775             }
776         }
777         return actionParameter21a;
778     }
779 
780    /**
781     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getOnlineHelpKey()
782     * @return String
783     */
784     protected abstract String handleGetOnlineHelpKey();
785 
786     private String __onlineHelpKey22a;
787     private boolean __onlineHelpKey22aSet = false;
788 
789     /**
790      * The key to lookup the online help documentation.
791      * @return (String)handleGetOnlineHelpKey()
792      */
793     public final String getOnlineHelpKey()
794     {
795         String onlineHelpKey22a = this.__onlineHelpKey22a;
796         if (!this.__onlineHelpKey22aSet)
797         {
798             // onlineHelpKey has no pre constraints
799             onlineHelpKey22a = handleGetOnlineHelpKey();
800             // onlineHelpKey has no post constraints
801             this.__onlineHelpKey22a = onlineHelpKey22a;
802             if (isMetafacadePropertyCachingEnabled())
803             {
804                 this.__onlineHelpKey22aSet = true;
805             }
806         }
807         return onlineHelpKey22a;
808     }
809 
810    /**
811     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getOnlineHelpValue()
812     * @return String
813     */
814     protected abstract String handleGetOnlineHelpValue();
815 
816     private String __onlineHelpValue23a;
817     private boolean __onlineHelpValue23aSet = false;
818 
819     /**
820      * The online help documentation. The format is HTML without any style.
821      * @return (String)handleGetOnlineHelpValue()
822      */
823     public final String getOnlineHelpValue()
824     {
825         String onlineHelpValue23a = this.__onlineHelpValue23a;
826         if (!this.__onlineHelpValue23aSet)
827         {
828             // onlineHelpValue has no pre constraints
829             onlineHelpValue23a = handleGetOnlineHelpValue();
830             // onlineHelpValue has no post constraints
831             this.__onlineHelpValue23a = onlineHelpValue23a;
832             if (isMetafacadePropertyCachingEnabled())
833             {
834                 this.__onlineHelpValue23aSet = true;
835             }
836         }
837         return onlineHelpValue23a;
838     }
839 
840    /**
841     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getOnlineHelpActionPath()
842     * @return String
843     */
844     protected abstract String handleGetOnlineHelpActionPath();
845 
846     private String __onlineHelpActionPath24a;
847     private boolean __onlineHelpActionPath24aSet = false;
848 
849     /**
850      * The full path to this entity's online help action. The returned String does not have a suffix
851      * such as '.do'.
852      * @return (String)handleGetOnlineHelpActionPath()
853      */
854     public final String getOnlineHelpActionPath()
855     {
856         String onlineHelpActionPath24a = this.__onlineHelpActionPath24a;
857         if (!this.__onlineHelpActionPath24aSet)
858         {
859             // onlineHelpActionPath has no pre constraints
860             onlineHelpActionPath24a = handleGetOnlineHelpActionPath();
861             // onlineHelpActionPath has no post constraints
862             this.__onlineHelpActionPath24a = onlineHelpActionPath24a;
863             if (isMetafacadePropertyCachingEnabled())
864             {
865                 this.__onlineHelpActionPath24aSet = true;
866             }
867         }
868         return onlineHelpActionPath24a;
869     }
870 
871    /**
872     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getOnlineHelpPagePath()
873     * @return String
874     */
875     protected abstract String handleGetOnlineHelpPagePath();
876 
877     private String __onlineHelpPagePath25a;
878     private boolean __onlineHelpPagePath25aSet = false;
879 
880     /**
881      * The full path to this entitiy's online help page. The returned String does not have a suffix
882      * such as '.jsp'.
883      * @return (String)handleGetOnlineHelpPagePath()
884      */
885     public final String getOnlineHelpPagePath()
886     {
887         String onlineHelpPagePath25a = this.__onlineHelpPagePath25a;
888         if (!this.__onlineHelpPagePath25aSet)
889         {
890             // onlineHelpPagePath has no pre constraints
891             onlineHelpPagePath25a = handleGetOnlineHelpPagePath();
892             // onlineHelpPagePath has no post constraints
893             this.__onlineHelpPagePath25a = onlineHelpPagePath25a;
894             if (isMetafacadePropertyCachingEnabled())
895             {
896                 this.__onlineHelpPagePath25aSet = true;
897             }
898         }
899         return onlineHelpPagePath25a;
900     }
901 
902    /**
903     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#isTableExportable()
904     * @return boolean
905     */
906     protected abstract boolean handleIsTableExportable();
907 
908     private boolean __tableExportable26a;
909     private boolean __tableExportable26aSet = false;
910 
911     /**
912      * True if it is possible to export the table data to XML, CSV, PDF or Excel format.
913      * @return (boolean)handleIsTableExportable()
914      */
915     public final boolean isTableExportable()
916     {
917         boolean tableExportable26a = this.__tableExportable26a;
918         if (!this.__tableExportable26aSet)
919         {
920             // tableExportable has no pre constraints
921             tableExportable26a = handleIsTableExportable();
922             // tableExportable has no post constraints
923             this.__tableExportable26a = tableExportable26a;
924             if (isMetafacadePropertyCachingEnabled())
925             {
926                 this.__tableExportable26aSet = true;
927             }
928         }
929         return tableExportable26a;
930     }
931 
932    /**
933     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getTableExportTypes()
934     * @return String
935     */
936     protected abstract String handleGetTableExportTypes();
937 
938     private String __tableExportTypes27a;
939     private boolean __tableExportTypes27aSet = false;
940 
941     /**
942      * Tthe available types of export in a single String instance.
943      * @return (String)handleGetTableExportTypes()
944      */
945     public final String getTableExportTypes()
946     {
947         String tableExportTypes27a = this.__tableExportTypes27a;
948         if (!this.__tableExportTypes27aSet)
949         {
950             // tableExportTypes has no pre constraints
951             tableExportTypes27a = handleGetTableExportTypes();
952             // tableExportTypes has no post constraints
953             this.__tableExportTypes27a = tableExportTypes27a;
954             if (isMetafacadePropertyCachingEnabled())
955             {
956                 this.__tableExportTypes27aSet = true;
957             }
958         }
959         return tableExportTypes27a;
960     }
961 
962    /**
963     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#getTableMaxRows()
964     * @return int
965     */
966     protected abstract int handleGetTableMaxRows();
967 
968     private int __tableMaxRows28a;
969     private boolean __tableMaxRows28aSet = false;
970 
971     /**
972      * The maximum number of rows to be displayed in the table at the same time. This is also known
973      * as the page size. A value of zero or less will display all data in the same table (therefore
974      * also on the same page).
975      * @return (int)handleGetTableMaxRows()
976      */
977     public final int getTableMaxRows()
978     {
979         int tableMaxRows28a = this.__tableMaxRows28a;
980         if (!this.__tableMaxRows28aSet)
981         {
982             // tableMaxRows has no pre constraints
983             tableMaxRows28a = handleGetTableMaxRows();
984             // tableMaxRows has no post constraints
985             this.__tableMaxRows28a = tableMaxRows28a;
986             if (isMetafacadePropertyCachingEnabled())
987             {
988                 this.__tableMaxRows28aSet = true;
989             }
990         }
991         return tableMaxRows28a;
992     }
993 
994    /**
995     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#isTableSortable()
996     * @return boolean
997     */
998     protected abstract boolean handleIsTableSortable();
999 
1000     private boolean __tableSortable29a;
1001     private boolean __tableSortable29aSet = false;
1002 
1003     /**
1004      * True if it is possible to sort the columns of the table.
1005      * @return (boolean)handleIsTableSortable()
1006      */
1007     public final boolean isTableSortable()
1008     {
1009         boolean tableSortable29a = this.__tableSortable29a;
1010         if (!this.__tableSortable29aSet)
1011         {
1012             // tableSortable has no pre constraints
1013             tableSortable29a = handleIsTableSortable();
1014             // tableSortable has no post constraints
1015             this.__tableSortable29a = tableSortable29a;
1016             if (isMetafacadePropertyCachingEnabled())
1017             {
1018                 this.__tableSortable29aSet = true;
1019             }
1020         }
1021         return tableSortable29a;
1022     }
1023 
1024    /**
1025     * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsManageableEntity#isMultipartFormData()
1026     * @return boolean
1027     */
1028     protected abstract boolean handleIsMultipartFormData();
1029 
1030     private boolean __multipartFormData30a;
1031     private boolean __multipartFormData30aSet = false;
1032 
1033     /**
1034      * True is this action is supposed to be rendered as enctype="multipart/form-data" on the page
1035      * form.
1036      * @return (boolean)handleIsMultipartFormData()
1037      */
1038     public final boolean isMultipartFormData()
1039     {
1040         boolean multipartFormData30a = this.__multipartFormData30a;
1041         if (!this.__multipartFormData30aSet)
1042         {
1043             // multipartFormData has no pre constraints
1044             multipartFormData30a = handleIsMultipartFormData();
1045             // multipartFormData has no post constraints
1046             this.__multipartFormData30a = multipartFormData30a;
1047             if (isMetafacadePropertyCachingEnabled())
1048             {
1049                 this.__multipartFormData30aSet = true;
1050             }
1051         }
1052         return multipartFormData30a;
1053     }
1054 
1055     /**
1056      * @return true
1057      * @see ManageableEntity
1058      */
1059     public boolean isManageableEntityMetaType()
1060     {
1061         return true;
1062     }
1063 
1064     /**
1065      * @return true
1066      * @see org.andromda.metafacades.uml.Entity
1067      */
1068     public boolean isEntityMetaType()
1069     {
1070         return true;
1071     }
1072 
1073     /**
1074      * @return true
1075      * @see ClassifierFacade
1076      */
1077     public boolean isClassifierFacadeMetaType()
1078     {
1079         return true;
1080     }
1081 
1082     /**
1083      * @return true
1084      * @see GeneralizableElementFacade
1085      */
1086     public boolean isGeneralizableElementFacadeMetaType()
1087     {
1088         return true;
1089     }
1090 
1091     /**
1092      * @return true
1093      * @see ModelElementFacade
1094      */
1095     public boolean isModelElementFacadeMetaType()
1096     {
1097         return true;
1098     }
1099 
1100     // ----------- delegates to ManageableEntity ------------
1101     /**
1102      * Return the attribute which name matches the parameter
1103      * @see ClassifierFacade#findAttribute(String name)
1104      */
1105     public AttributeFacade findAttribute(String name)
1106     {
1107         return this.getSuperManageableEntity().findAttribute(name);
1108     }
1109 
1110     /**
1111      * Those abstraction dependencies for which this classifier is the client.
1112      * @see ClassifierFacade#getAbstractions()
1113      */
1114     public Collection<ClassifierFacade> getAbstractions()
1115     {
1116         return this.getSuperManageableEntity().getAbstractions();
1117     }
1118 
1119     /**
1120      * Lists all classes associated to this one and any ancestor classes (through generalization).
1121      * There will be no duplicates. The order of the elements is predictable.
1122      * @see ClassifierFacade#getAllAssociatedClasses()
1123      */
1124     public Collection<ClassifierFacade> getAllAssociatedClasses()
1125     {
1126         return this.getSuperManageableEntity().getAllAssociatedClasses();
1127     }
1128 
1129     /**
1130      * A collection containing all 'properties' of the classifier and its ancestors.  Properties are
1131      * any attributes and navigable connecting association ends.
1132      * @see ClassifierFacade#getAllProperties()
1133      */
1134     public Collection<ModelElementFacade> getAllProperties()
1135     {
1136         return this.getSuperManageableEntity().getAllProperties();
1137     }
1138 
1139     /**
1140      * A collection containing all required and/or read-only 'properties' of the classifier and its
1141      * ancestors. Properties are any attributes and navigable connecting association ends.
1142      * @see ClassifierFacade#getAllRequiredConstructorParameters()
1143      */
1144     public Collection<ModelElementFacade> getAllRequiredConstructorParameters()
1145     {
1146         return this.getSuperManageableEntity().getAllRequiredConstructorParameters();
1147     }
1148 
1149     /**
1150      * Gets the array type for this classifier.  If this classifier already represents an array, it
1151      * just returns itself.
1152      * @see ClassifierFacade#getArray()
1153      */
1154     public ClassifierFacade getArray()
1155     {
1156         return this.getSuperManageableEntity().getArray();
1157     }
1158 
1159     /**
1160      * The name of the classifier as an array.
1161      * @see ClassifierFacade#getArrayName()
1162      */
1163     public String getArrayName()
1164     {
1165         return this.getSuperManageableEntity().getArrayName();
1166     }
1167 
1168     /**
1169      * Lists the classes associated to this one, there is no repitition of classes. The order of the
1170      * elements is predictable.
1171      * @see ClassifierFacade#getAssociatedClasses()
1172      */
1173     public Collection<ClassifierFacade> getAssociatedClasses()
1174     {
1175         return this.getSuperManageableEntity().getAssociatedClasses();
1176     }
1177 
1178     /**
1179      * Gets the association ends belonging to a classifier.
1180      * @see ClassifierFacade#getAssociationEnds()
1181      */
1182     public List<AssociationEndFacade> getAssociationEnds()
1183     {
1184         return this.getSuperManageableEntity().getAssociationEnds();
1185     }
1186 
1187     /**
1188      * Gets the attributes that belong to the classifier.
1189      * @see ClassifierFacade#getAttributes()
1190      */
1191     public List<AttributeFacade> getAttributes()
1192     {
1193         return this.getSuperManageableEntity().getAttributes();
1194     }
1195 
1196     /**
1197      * Gets all attributes for the classifier and if 'follow' is true goes up the inheritance
1198      * hierarchy and gets the attributes from the super classes as well.
1199      * @see ClassifierFacade#getAttributes(boolean follow)
1200      */
1201     public List<AttributeFacade> getAttributes(boolean follow)
1202     {
1203         return this.getSuperManageableEntity().getAttributes(follow);
1204     }
1205 
1206     /**
1207      * The fully qualified name of the classifier as an array.
1208      * @see ClassifierFacade#getFullyQualifiedArrayName()
1209      */
1210     public String getFullyQualifiedArrayName()
1211     {
1212         return this.getSuperManageableEntity().getFullyQualifiedArrayName();
1213     }
1214 
1215     /**
1216      * Returns all those operations that could be implemented at this classifier's level. This means
1217      * the operations owned by this classifier as well as any realized interface's operations
1218      * (recursively) in case this classifier itself is not already an interface, or generalized when
1219      * this classifier is an interface.
1220      * @see ClassifierFacade#getImplementationOperations()
1221      */
1222     public Collection<OperationFacade> getImplementationOperations()
1223     {
1224         return this.getSuperManageableEntity().getImplementationOperations();
1225     }
1226 
1227     /**
1228      * A comma separated list of the fully qualified names of all implemented interfaces.
1229      * @see ClassifierFacade#getImplementedInterfaceList()
1230      */
1231     public String getImplementedInterfaceList()
1232     {
1233         return this.getSuperManageableEntity().getImplementedInterfaceList();
1234     }
1235 
1236     /**
1237      * Those attributes that are scoped to an instance of this class.
1238      * @see ClassifierFacade#getInstanceAttributes()
1239      */
1240     public Collection<AttributeFacade> getInstanceAttributes()
1241     {
1242         return this.getSuperManageableEntity().getInstanceAttributes();
1243     }
1244 
1245     /**
1246      * Those operations that are scoped to an instance of this class.
1247      * @see ClassifierFacade#getInstanceOperations()
1248      */
1249     public List<OperationFacade> getInstanceOperations()
1250     {
1251         return this.getSuperManageableEntity().getInstanceOperations();
1252     }
1253 
1254     /**
1255      * Those interfaces that are abstractions of this classifier, this basically means this
1256      * classifier realizes them.
1257      * @see ClassifierFacade#getInterfaceAbstractions()
1258      */
1259     public Collection<ClassifierFacade> getInterfaceAbstractions()
1260     {
1261         return this.getSuperManageableEntity().getInterfaceAbstractions();
1262     }
1263 
1264     /**
1265      * A String representing a new Constructor declaration for this classifier type to be used in a
1266      * Java environment.
1267      * @see ClassifierFacade#getJavaNewString()
1268      */
1269     public String getJavaNewString()
1270     {
1271         return this.getSuperManageableEntity().getJavaNewString();
1272     }
1273 
1274     /**
1275      * A String representing the null-value for this classifier type to be used in a Java
1276      * environment.
1277      * @see ClassifierFacade#getJavaNullString()
1278      */
1279     public String getJavaNullString()
1280     {
1281         return this.getSuperManageableEntity().getJavaNullString();
1282     }
1283 
1284     /**
1285      * The other ends of this classifier's association ends which are navigable.
1286      * @see ClassifierFacade#getNavigableConnectingEnds()
1287      */
1288     public Collection<AssociationEndFacade> getNavigableConnectingEnds()
1289     {
1290         return this.getSuperManageableEntity().getNavigableConnectingEnds();
1291     }
1292 
1293     /**
1294      * Get the other ends of this classifier's association ends which are navigable and if 'follow'
1295      * is true goes up the inheritance hierarchy and gets the super association ends as well.
1296      * @see ClassifierFacade#getNavigableConnectingEnds(boolean follow)
1297      */
1298     public List<AssociationEndFacade> getNavigableConnectingEnds(boolean follow)
1299     {
1300         return this.getSuperManageableEntity().getNavigableConnectingEnds(follow);
1301     }
1302 
1303     /**
1304      * Assuming that the classifier is an array, this will return the non array type of the
1305      * classifier from
1306      * the model.  If the classifier is NOT an array, it will just return itself.
1307      * @see ClassifierFacade#getNonArray()
1308      */
1309     public ClassifierFacade getNonArray()
1310     {
1311         return this.getSuperManageableEntity().getNonArray();
1312     }
1313 
1314     /**
1315      * The attributes from this classifier in the form of an operation call (this example would be
1316      * in Java): '(String attributeOne, String attributeTwo).  If there were no attributes on the
1317      * classifier, the result would be an empty '()'.
1318      * @see ClassifierFacade#getOperationCallFromAttributes()
1319      */
1320     public String getOperationCallFromAttributes()
1321     {
1322         return this.getSuperManageableEntity().getOperationCallFromAttributes();
1323     }
1324 
1325     /**
1326      * The operations owned by this classifier.
1327      * @see ClassifierFacade#getOperations()
1328      */
1329     public List<OperationFacade> getOperations()
1330     {
1331         return this.getSuperManageableEntity().getOperations();
1332     }
1333 
1334     /**
1335      * A collection containing all 'properties' of the classifier.  Properties are any attributes
1336      * and navigable connecting association ends.
1337      * @see ClassifierFacade#getProperties()
1338      */
1339     public List<ModelElementFacade> getProperties()
1340     {
1341         return this.getSuperManageableEntity().getProperties();
1342     }
1343 
1344     /**
1345      * Gets all properties (attributes and navigable association ends) for the classifier and if
1346      * 'follow' is true goes up the inheritance hierarchy and gets the properties from the super
1347      * classes as well.
1348      * @see ClassifierFacade#getProperties(boolean follow)
1349      */
1350     public List getProperties(boolean follow)
1351     {
1352         return this.getSuperManageableEntity().getProperties(follow);
1353     }
1354 
1355     /**
1356      * A collection containing all required and/or read-only 'properties' of the classifier. 
1357      * Properties are any attributes and navigable connecting association ends.
1358      * @see ClassifierFacade#getRequiredConstructorParameters()
1359      */
1360     public Collection<ModelElementFacade> getRequiredConstructorParameters()
1361     {
1362         return this.getSuperManageableEntity().getRequiredConstructorParameters();
1363     }
1364 
1365     /**
1366      * Returns the serial version UID of the underlying model element.
1367      * @see ClassifierFacade#getSerialVersionUID()
1368      */
1369     public long getSerialVersionUID()
1370     {
1371         return this.getSuperManageableEntity().getSerialVersionUID();
1372     }
1373 
1374     /**
1375      * Those attributes that are scoped to the definition of this class.
1376      * @see ClassifierFacade#getStaticAttributes()
1377      */
1378     public Collection<AttributeFacade> getStaticAttributes()
1379     {
1380         return this.getSuperManageableEntity().getStaticAttributes();
1381     }
1382 
1383     /**
1384      * Those operations that are scoped to the definition of this class.
1385      * @see ClassifierFacade#getStaticOperations()
1386      */
1387     public List<OperationFacade> getStaticOperations()
1388     {
1389         return this.getSuperManageableEntity().getStaticOperations();
1390     }
1391 
1392     /**
1393      * This class' superclass, returns the generalization if it is a ClassifierFacade, null
1394      * otherwise.
1395      * @see ClassifierFacade#getSuperClass()
1396      */
1397     public ClassifierFacade getSuperClass()
1398     {
1399         return this.getSuperManageableEntity().getSuperClass();
1400     }
1401 
1402     /**
1403      * The wrapper name for this classifier if a mapped type has a defined wrapper class (ie. 'long'
1404      * maps to 'Long').  If the classifier doesn't have a wrapper defined for it, this method will
1405      * return a null.  Note that wrapper mappings must be defined for the namespace by defining the
1406      * 'wrapperMappingsUri', this property must point to the location of the mappings file which
1407      * maps the primitives to wrapper types.
1408      * @see ClassifierFacade#getWrapperName()
1409      */
1410     public String getWrapperName()
1411     {
1412         return this.getSuperManageableEntity().getWrapperName();
1413     }
1414 
1415     /**
1416      * Indicates if this classifier is 'abstract'.
1417      * @see ClassifierFacade#isAbstract()
1418      */
1419     public boolean isAbstract()
1420     {
1421         return this.getSuperManageableEntity().isAbstract();
1422     }
1423 
1424     /**
1425      * True if this classifier represents an array type. False otherwise.
1426      * @see ClassifierFacade#isArrayType()
1427      */
1428     public boolean isArrayType()
1429     {
1430         return this.getSuperManageableEntity().isArrayType();
1431     }
1432 
1433     /**
1434      * True if the ClassifierFacade is an AssociationClass.
1435      * @see ClassifierFacade#isAssociationClass()
1436      */
1437     public boolean isAssociationClass()
1438     {
1439         return this.getSuperManageableEntity().isAssociationClass();
1440     }
1441 
1442     /**
1443      * Returns true if this type represents a Blob type.
1444      * @see ClassifierFacade#isBlobType()
1445      */
1446     public boolean isBlobType()
1447     {
1448         return this.getSuperManageableEntity().isBlobType();
1449     }
1450 
1451     /**
1452      * Indicates if this type represents a boolean type or not.
1453      * @see ClassifierFacade#isBooleanType()
1454      */
1455     public boolean isBooleanType()
1456     {
1457         return this.getSuperManageableEntity().isBooleanType();
1458     }
1459 
1460     /**
1461      * Indicates if this type represents a char, Character, or java.lang.Character type or not.
1462      * @see ClassifierFacade#isCharacterType()
1463      */
1464     public boolean isCharacterType()
1465     {
1466         return this.getSuperManageableEntity().isCharacterType();
1467     }
1468 
1469     /**
1470      * Returns true if this type represents a Clob type.
1471      * @see ClassifierFacade#isClobType()
1472      */
1473     public boolean isClobType()
1474     {
1475         return this.getSuperManageableEntity().isClobType();
1476     }
1477 
1478     /**
1479      * True if this classifier represents a collection type. False otherwise.
1480      * @see ClassifierFacade#isCollectionType()
1481      */
1482     public boolean isCollectionType()
1483     {
1484         return this.getSuperManageableEntity().isCollectionType();
1485     }
1486 
1487     /**
1488      * True/false depending on whether or not this classifier represents a datatype. A data type is
1489      * a type whose instances are identified only by their value. A data type may contain attributes
1490      * to support the modeling of structured data types.
1491      * @see ClassifierFacade#isDataType()
1492      */
1493     public boolean isDataType()
1494     {
1495         return this.getSuperManageableEntity().isDataType();
1496     }
1497 
1498     /**
1499      * True when this classifier is a date type.
1500      * @see ClassifierFacade#isDateType()
1501      */
1502     public boolean isDateType()
1503     {
1504         return this.getSuperManageableEntity().isDateType();
1505     }
1506 
1507     /**
1508      * Indicates if this type represents a Double type or not.
1509      * @see ClassifierFacade#isDoubleType()
1510      */
1511     public boolean isDoubleType()
1512     {
1513         return this.getSuperManageableEntity().isDoubleType();
1514     }
1515 
1516     /**
1517      * Indicates whether or not this classifier represents an "EmbeddedValue'.
1518      * @see ClassifierFacade#isEmbeddedValue()
1519      */
1520     public boolean isEmbeddedValue()
1521     {
1522         return this.getSuperManageableEntity().isEmbeddedValue();
1523     }
1524 
1525     /**
1526      * True if this classifier is in fact marked as an enumeration.
1527      * @see ClassifierFacade#isEnumeration()
1528      */
1529     public boolean isEnumeration()
1530     {
1531         return this.getSuperManageableEntity().isEnumeration();
1532     }
1533 
1534     /**
1535      * Returns true if this type represents a 'file' type.
1536      * @see ClassifierFacade#isFileType()
1537      */
1538     public boolean isFileType()
1539     {
1540         return this.getSuperManageableEntity().isFileType();
1541     }
1542 
1543     /**
1544      * Indicates if this type represents a Float type or not.
1545      * @see ClassifierFacade#isFloatType()
1546      */
1547     public boolean isFloatType()
1548     {
1549         return this.getSuperManageableEntity().isFloatType();
1550     }
1551 
1552     /**
1553      * Indicates if this type represents an int or Integer or java.lang.Integer type or not.
1554      * @see ClassifierFacade#isIntegerType()
1555      */
1556     public boolean isIntegerType()
1557     {
1558         return this.getSuperManageableEntity().isIntegerType();
1559     }
1560 
1561     /**
1562      * True/false depending on whether or not this Classifier represents an interface.
1563      * @see ClassifierFacade#isInterface()
1564      */
1565     public boolean isInterface()
1566     {
1567         return this.getSuperManageableEntity().isInterface();
1568     }
1569 
1570     /**
1571      * True if this classifier cannot be extended and represent a leaf in the inheritance tree.
1572      * @see ClassifierFacade#isLeaf()
1573      */
1574     public boolean isLeaf()
1575     {
1576         return this.getSuperManageableEntity().isLeaf();
1577     }
1578 
1579     /**
1580      * True if this classifier represents a list type. False otherwise.
1581      * @see ClassifierFacade#isListType()
1582      */
1583     public boolean isListType()
1584     {
1585         return this.getSuperManageableEntity().isListType();
1586     }
1587 
1588     /**
1589      * Indicates if this type represents a Long type or not.
1590      * @see ClassifierFacade#isLongType()
1591      */
1592     public boolean isLongType()
1593     {
1594         return this.getSuperManageableEntity().isLongType();
1595     }
1596 
1597     /**
1598      * Indicates whether or not this classifier represents a Map type.
1599      * @see ClassifierFacade#isMapType()
1600      */
1601     public boolean isMapType()
1602     {
1603         return this.getSuperManageableEntity().isMapType();
1604     }
1605 
1606     /**
1607      * Indicates whether or not this classifier represents a primitive type.
1608      * @see ClassifierFacade#isPrimitive()
1609      */
1610     public boolean isPrimitive()
1611     {
1612         return this.getSuperManageableEntity().isPrimitive();
1613     }
1614 
1615     /**
1616      * True if this classifier represents a set type. False otherwise.
1617      * @see ClassifierFacade#isSetType()
1618      */
1619     public boolean isSetType()
1620     {
1621         return this.getSuperManageableEntity().isSetType();
1622     }
1623 
1624     /**
1625      * Indicates whether or not this classifier represents a string type.
1626      * @see ClassifierFacade#isStringType()
1627      */
1628     public boolean isStringType()
1629     {
1630         return this.getSuperManageableEntity().isStringType();
1631     }
1632 
1633     /**
1634      * Indicates whether or not this classifier represents a time type.
1635      * @see ClassifierFacade#isTimeType()
1636      */
1637     public boolean isTimeType()
1638     {
1639         return this.getSuperManageableEntity().isTimeType();
1640     }
1641 
1642     /**
1643      * Returns true if this type is a wrapped primitive type.
1644      * @see ClassifierFacade#isWrappedPrimitive()
1645      */
1646     public boolean isWrappedPrimitive()
1647     {
1648         return this.getSuperManageableEntity().isWrappedPrimitive();
1649     }
1650 
1651     /**
1652      * Returns a collection of all entities this entity and its ancestors have a relation to.
1653      * @see org.andromda.metafacades.uml.Entity#getAllEntityReferences()
1654      */
1655     public Collection<DependencyFacade> getAllEntityReferences()
1656     {
1657         return this.getSuperManageableEntity().getAllEntityReferences();
1658     }
1659 
1660     /**
1661      * Gets a comma separated list of attribute names.  If 'follow' is true, will travel up the
1662      * inheritance hiearchy to include attributes in parent entities as well.  If 'withIdentifiers'
1663      * is true, will include identifiers.
1664      * @see org.andromda.metafacades.uml.Entity#getAttributeNameList(boolean follow, boolean withIdentifiers)
1665      */
1666     public String getAttributeNameList(boolean follow, boolean withIdentifiers)
1667     {
1668         return this.getSuperManageableEntity().getAttributeNameList(follow, withIdentifiers);
1669     }
1670 
1671     /**
1672      * Gets a comma separated list of attribute names.  If 'follow' is true, will travel up the
1673      * inheritance hiearchy to include attributes in parent entities as well.  If 'withIdentifiers'
1674      * is true, will include identifiers  and  if 'withDerived' is set to true, will include derived
1675      * attributes.
1676      * @see org.andromda.metafacades.uml.Entity#getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
1677      */
1678     public String getAttributeNameList(boolean follow, boolean withIdentifiers, boolean withDerived)
1679     {
1680         return this.getSuperManageableEntity().getAttributeNameList(follow, withIdentifiers, withDerived);
1681     }
1682 
1683     /**
1684      * Gets a comma separated list of attribute types.  If 'follow' is true, will travel up the
1685      * inheritance hierarchy to include attributes in parent entities as well.  If 'withIdentifiers'
1686      * is true, will include identifiers.
1687      * @see org.andromda.metafacades.uml.Entity#getAttributeTypeList(boolean follow, boolean withIdentifiers)
1688      */
1689     public String getAttributeTypeList(boolean follow, boolean withIdentifiers)
1690     {
1691         return this.getSuperManageableEntity().getAttributeTypeList(follow, withIdentifiers);
1692     }
1693 
1694     /**
1695      * Gets all attributes of the entity, and optionally retieves the super entities attributes as
1696      * well as excludes the entity's identifiers if 'withIdentifiers' is set to false.
1697      * @see org.andromda.metafacades.uml.Entity#getAttributes(boolean follow, boolean withIdentifiers)
1698      */
1699     public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers)
1700     {
1701         return this.getSuperManageableEntity().getAttributes(follow, withIdentifiers);
1702     }
1703 
1704     /**
1705      * Gets all attributes of the entity, and optionally retieves the super entities attributes as
1706      * well as excludes the entity's identifiers if 'withIdentifiers' is set to false and exclude
1707      * derived attributes if 'withDerived' is set to false.
1708      * @see org.andromda.metafacades.uml.Entity#getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
1709      */
1710     public Collection<AttributeFacade> getAttributes(boolean follow, boolean withIdentifiers, boolean withDerived)
1711     {
1712         return this.getSuperManageableEntity().getAttributes(follow, withIdentifiers, withDerived);
1713     }
1714 
1715     /**
1716      * All business operations of the entity, these include any operations that aren't queries.
1717      * @see org.andromda.metafacades.uml.Entity#getBusinessOperations()
1718      */
1719     public Collection<OperationFacade> getBusinessOperations()
1720     {
1721         return this.getSuperManageableEntity().getBusinessOperations();
1722     }
1723 
1724     /**
1725      * Gets any children association ends (i.e. entity association ends that are participants in an
1726      * association with this entity and this entity has composite aggregation defined for those
1727      * associations).
1728      * @see org.andromda.metafacades.uml.Entity#getChildEnds()
1729      */
1730     public Collection<EntityAssociationEnd> getChildEnds()
1731     {
1732         return this.getSuperManageableEntity().getChildEnds();
1733     }
1734 
1735     /**
1736      * The embedded values belonging to this entity.
1737      * @see org.andromda.metafacades.uml.Entity#getEmbeddedValues()
1738      */
1739     public Collection<AttributeFacade> getEmbeddedValues()
1740     {
1741         return this.getSuperManageableEntity().getEmbeddedValues();
1742     }
1743 
1744     /**
1745      * All entities referenced by this entity.
1746      * @see org.andromda.metafacades.uml.Entity#getEntityReferences()
1747      */
1748     public Collection<DependencyFacade> getEntityReferences()
1749     {
1750         return this.getSuperManageableEntity().getEntityReferences();
1751     }
1752 
1753     /**
1754      * The full name of the type of the identifier. If composite identifier add the PK sufix to the
1755      * class name. If not, retorns the fully qualified name of the identifier.
1756      * @see org.andromda.metafacades.uml.Entity#getFullyQualifiedIdentifierTypeName()
1757      */
1758     public String getFullyQualifiedIdentifierTypeName()
1759     {
1760         return this.getSuperManageableEntity().getFullyQualifiedIdentifierTypeName();
1761     }
1762 
1763     /**
1764      * Gets all the associationEnds of this entity marked with the identifiers stereotype.
1765      * @see org.andromda.metafacades.uml.Entity#getIdentifierAssociationEnds()
1766      */
1767     public Collection<AssociationEndFacade> getIdentifierAssociationEnds()
1768     {
1769         return this.getSuperManageableEntity().getIdentifierAssociationEnds();
1770     }
1771 
1772     /**
1773      * The getter name of the identifier.
1774      * @see org.andromda.metafacades.uml.Entity#getIdentifierGetterName()
1775      */
1776     public String getIdentifierGetterName()
1777     {
1778         return this.getSuperManageableEntity().getIdentifierGetterName();
1779     }
1780 
1781     /**
1782      * The name of the identifier. If composite identifier add the Pk suffix. If not composite
1783      * returns the attribute name of the identifier.
1784      * @see org.andromda.metafacades.uml.Entity#getIdentifierName()
1785      */
1786     public String getIdentifierName()
1787     {
1788         return this.getSuperManageableEntity().getIdentifierName();
1789     }
1790 
1791     /**
1792      * The setter name of the identifier.
1793      * @see org.andromda.metafacades.uml.Entity#getIdentifierSetterName()
1794      */
1795     public String getIdentifierSetterName()
1796     {
1797         return this.getSuperManageableEntity().getIdentifierSetterName();
1798     }
1799 
1800     /**
1801      * The name of the type of the identifier. If composite identifier add the PK suffix to the
1802      * class name. If not, returns the name of the identifier.
1803      * @see org.andromda.metafacades.uml.Entity#getIdentifierTypeName()
1804      */
1805     public String getIdentifierTypeName()
1806     {
1807         return this.getSuperManageableEntity().getIdentifierTypeName();
1808     }
1809 
1810     /**
1811      * All the attributes of the entity which make up its identifier (primary key).  Will search any
1812      * super classes as well.  If no identifiers exist, a default identifier will be created if the
1813      * allowDefaultIdentifiers property is set to true.
1814      * @see org.andromda.metafacades.uml.Entity#getIdentifiers()
1815      */
1816     public Collection<ModelElementFacade> getIdentifiers()
1817     {
1818         return this.getSuperManageableEntity().getIdentifiers();
1819     }
1820 
1821     /**
1822      * Gets all identifiers for an entity. If 'follow' is true, and if no identifiers can be found
1823      * on the entity, a search up the inheritance chain will be performed, and the identifiers from
1824      * the first super class having them will be used.   If no identifiers exist, a default
1825      * identifier will be created if the allowDefaultIdentifiers property is set to true.
1826      * Identifiers can be on attributes or associations (composite primary key).
1827      * @see org.andromda.metafacades.uml.Entity#getIdentifiers(boolean follow)
1828      */
1829     public Collection<ModelElementFacade> getIdentifiers(boolean follow)
1830     {
1831         return this.getSuperManageableEntity().getIdentifiers(follow);
1832     }
1833 
1834     /**
1835      * The maximum length a SQL name may be.
1836      * @see org.andromda.metafacades.uml.Entity#getMaxSqlNameLength()
1837      */
1838     public short getMaxSqlNameLength()
1839     {
1840         return this.getSuperManageableEntity().getMaxSqlNameLength();
1841     }
1842 
1843     /**
1844      * Gets the attributes as a list within an operation call, optionally including the type names
1845      * and the identifier attributes.
1846      * @see org.andromda.metafacades.uml.Entity#getOperationCallFromAttributes(boolean withIdentifiers)
1847      */
1848     public String getOperationCallFromAttributes(boolean withIdentifiers)
1849     {
1850         return this.getSuperManageableEntity().getOperationCallFromAttributes(withIdentifiers);
1851     }
1852 
1853     /**
1854      * Gets the attributes as a list within an operation call.  If 'withTypeNames' is true, it will
1855      * include the type names, if 'withIdentifiers' is true it will include the identifiers.  If
1856      * 'follow' is true it will follow the inheritance hierarchy and get the attributes of the super
1857      * class as well.
1858      * @see org.andromda.metafacades.uml.Entity#getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
1859      */
1860     public String getOperationCallFromAttributes(boolean withIdentifiers, boolean follow)
1861     {
1862         return this.getSuperManageableEntity().getOperationCallFromAttributes(withIdentifiers, follow);
1863     }
1864 
1865     /**
1866      * Returns the parent association end of this entity if its a child entity.  The parent is the
1867      * entity that is the participant the association that has composite aggregation defined.  Will
1868      * return null if the entity has no parent.
1869      * @see org.andromda.metafacades.uml.Entity#getParentEnd()
1870      */
1871     public EntityAssociationEnd getParentEnd()
1872     {
1873         return this.getSuperManageableEntity().getParentEnd();
1874     }
1875 
1876     /**
1877      * Gets all properties of this entity, this includes the attributes and navigable association
1878      * ends of the entity.  The 'follow' flag indcates whether or not the inheritance hierarchy
1879      * should be followed when getting all the properties.  The 'withIdentifiers' flag indicates
1880      * whether or not identifiers should be included in the collection of properties.
1881      * @see org.andromda.metafacades.uml.Entity#getProperties(boolean follow, boolean withIdentifiers)
1882      */
1883     public Collection<ModelElementFacade> getProperties(boolean follow, boolean withIdentifiers)
1884     {
1885         return this.getSuperManageableEntity().getProperties(follow, withIdentifiers);
1886     }
1887 
1888     /**
1889      * Returns all the operations that can perform queries on the entity.
1890      * @see org.andromda.metafacades.uml.Entity#getQueryOperations()
1891      */
1892     public Collection<EntityQueryOperation> getQueryOperations()
1893     {
1894         return this.getSuperManageableEntity().getQueryOperations();
1895     }
1896 
1897     /**
1898      * Gets all query operations for an entity. If 'follow' is true, and if no query operations can
1899      * be found on the entity, a search up the inheritance chain will be performed, and the
1900      * identifiers from the first super class having them will be used.   If no identifiers exist, a
1901      * default identifier will be created if the allowDefaultIdentifiers property is set to true.
1902      * @see org.andromda.metafacades.uml.Entity#getQueryOperations(boolean follow)
1903      */
1904     public Collection<OperationFacade> getQueryOperations(boolean follow)
1905     {
1906         return this.getSuperManageableEntity().getQueryOperations(follow);
1907     }
1908 
1909     /**
1910      * Gets a comma separated list of required attribute names.  If 'follow' is true, will travel up
1911      * the inheritance hierarchy to include attributes in parent entities as well.  If
1912      * 'withIdentifiers' is true, will include identifiers.
1913      * @see org.andromda.metafacades.uml.Entity#getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
1914      */
1915     public String getRequiredAttributeNameList(boolean follow, boolean withIdentifiers)
1916     {
1917         return this.getSuperManageableEntity().getRequiredAttributeNameList(follow, withIdentifiers);
1918     }
1919 
1920     /**
1921      * Gets a comma separated list of attribute types with are required.  If 'follow' is true, will
1922      * travel up the inheritance hierarchy to include attributes in parent entities as well.  If
1923      * 'withIdentifiers' is true, will include identifiers.
1924      * @see org.andromda.metafacades.uml.Entity#getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
1925      */
1926     public String getRequiredAttributeTypeList(boolean follow, boolean withIdentifiers)
1927     {
1928         return this.getSuperManageableEntity().getRequiredAttributeTypeList(follow, withIdentifiers);
1929     }
1930 
1931     /**
1932      * Returns all attributes that are specified as 'required' in the model.  If 'follow' is true,
1933      * then required attributes in super classes will also be returned, if false, just the ones
1934      * directly on the entity will be returned.  If 'withIdentifiers' is true, the identifiers will
1935      * be include, if false, no identifiers will be included.
1936      * @see org.andromda.metafacades.uml.Entity#getRequiredAttributes(boolean follow, boolean withIdentifiers)
1937      */
1938     public Collection<AttributeFacade> getRequiredAttributes(boolean follow, boolean withIdentifiers)
1939     {
1940         return this.getSuperManageableEntity().getRequiredAttributes(follow, withIdentifiers);
1941     }
1942 
1943     /**
1944      * Gets all required properties for this entity.  These consist of any required attributes as
1945      * well as navigable associations that are marked as 'required'.  If 'follow' is true, then the
1946      * inheritance hierchy will be followed and all required properties from super classes will be
1947      * included as well.
1948      * If 'withIdentifiers' is true, the identifiers will be include, if false, no identifiers will
1949      * be included.
1950      * @see org.andromda.metafacades.uml.Entity#getRequiredProperties(boolean follow, boolean withIdentifiers)
1951      */
1952     public Collection<ModelElementFacade> getRequiredProperties(boolean follow, boolean withIdentifiers)
1953     {
1954         return this.getSuperManageableEntity().getRequiredProperties(follow, withIdentifiers);
1955     }
1956 
1957     /**
1958      * Creates a comma separated list of the required property names.
1959      * @see org.andromda.metafacades.uml.Entity#getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
1960      */
1961     public String getRequiredPropertyNameList(boolean follow, boolean withIdentifiers)
1962     {
1963         return this.getSuperManageableEntity().getRequiredPropertyNameList(follow, withIdentifiers);
1964     }
1965 
1966     /**
1967      * A comma separated list of the required property types.
1968      * @see org.andromda.metafacades.uml.Entity#getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
1969      */
1970     public String getRequiredPropertyTypeList(boolean follow, boolean withIdentifiers)
1971     {
1972         return this.getSuperManageableEntity().getRequiredPropertyTypeList(follow, withIdentifiers);
1973     }
1974 
1975     /**
1976      * The name of the schema that contains the database table
1977      * @see org.andromda.metafacades.uml.Entity#getSchema()
1978      */
1979     public String getSchema()
1980     {
1981         return this.getSuperManageableEntity().getSchema();
1982     }
1983 
1984     /**
1985      * The name of the database table to which this entity is persisted.
1986      * @see org.andromda.metafacades.uml.Entity#getTableName()
1987      */
1988     public String getTableName()
1989     {
1990         return this.getSuperManageableEntity().getTableName();
1991     }
1992 
1993     /**
1994      * Returns true/false depending on whether or not this entity represetns a child in an
1995      * association (this occurs when this entity is on the opposite end of an assocation end defined
1996      * as composite).
1997      * @see org.andromda.metafacades.uml.Entity#isChild()
1998      */
1999     public boolean isChild()
2000     {
2001         return this.getSuperManageableEntity().isChild();
2002     }
2003 
2004     /**
2005      * True if this entity identifier is a composite (consists of multiple key columns, typically
2006      * abstracted into an external composite identifier class)
2007      * @see org.andromda.metafacades.uml.Entity#isCompositeIdentifier()
2008      */
2009     public boolean isCompositeIdentifier()
2010     {
2011         return this.getSuperManageableEntity().isCompositeIdentifier();
2012     }
2013 
2014     /**
2015      * True if the entity has its identifiers dynamically added, false otherwise.
2016      * @see org.andromda.metafacades.uml.Entity#isDynamicIdentifiersPresent()
2017      */
2018     public boolean isDynamicIdentifiersPresent()
2019     {
2020         return this.getSuperManageableEntity().isDynamicIdentifiersPresent();
2021     }
2022 
2023     /**
2024      * True if the entity has any identifiers defined, false otherwise.
2025      * @see org.andromda.metafacades.uml.Entity#isIdentifiersPresent()
2026      */
2027     public boolean isIdentifiersPresent()
2028     {
2029         return this.getSuperManageableEntity().isIdentifiersPresent();
2030     }
2031 
2032     /**
2033      * Indiciates if this entity is using an assigned identifier or not.
2034      * @see org.andromda.metafacades.uml.Entity#isUsingAssignedIdentifier()
2035      */
2036     public boolean isUsingAssignedIdentifier()
2037     {
2038         return this.getSuperManageableEntity().isUsingAssignedIdentifier();
2039     }
2040 
2041     /**
2042      * Indicates whether or not this entity is using a foreign identifier as its identifiers.  That
2043      * is: the foreignIdentifier flag was set on an incoming association end and the entity is
2044      * therefore using the related foreign parent entity's identifier.
2045      * @see org.andromda.metafacades.uml.Entity#isUsingForeignIdentifier()
2046      */
2047     public boolean isUsingForeignIdentifier()
2048     {
2049         return this.getSuperManageableEntity().isUsingForeignIdentifier();
2050     }
2051 
2052     /**
2053      * Finds the tagged value optional searching the entire inheritance hierarchy if 'follow' is set
2054      * to true.
2055      * @see GeneralizableElementFacade#findTaggedValue(String tagName, boolean follow)
2056      */
2057     public Object findTaggedValue(String tagName, boolean follow)
2058     {
2059         return this.getSuperManageableEntity().findTaggedValue(tagName, follow);
2060     }
2061 
2062     /**
2063      * All generalizations for this generalizable element, goes up the inheritance tree.
2064      * @see GeneralizableElementFacade#getAllGeneralizations()
2065      */
2066     public Collection<GeneralizableElementFacade> getAllGeneralizations()
2067     {
2068         return this.getSuperManageableEntity().getAllGeneralizations();
2069     }
2070 
2071     /**
2072      * All specializations (travels down the inheritance hierarchy).
2073      * @see GeneralizableElementFacade#getAllSpecializations()
2074      */
2075     public Collection<GeneralizableElementFacade> getAllSpecializations()
2076     {
2077         return this.getSuperManageableEntity().getAllSpecializations();
2078     }
2079 
2080     /**
2081      * Gets the direct generalization for this generalizable element.
2082      * @see GeneralizableElementFacade#getGeneralization()
2083      */
2084     public GeneralizableElementFacade getGeneralization()
2085     {
2086         return this.getSuperManageableEntity().getGeneralization();
2087     }
2088 
2089     /**
2090      * Gets the actual links that this generalization element is part of (it plays either the
2091      * specialization or generalization).
2092      * @see GeneralizableElementFacade#getGeneralizationLinks()
2093      */
2094     public Collection<GeneralizationFacade> getGeneralizationLinks()
2095     {
2096         return this.getSuperManageableEntity().getGeneralizationLinks();
2097     }
2098 
2099     /**
2100      * A comma separated list of the fully qualified names of all generalizations.
2101      * @see GeneralizableElementFacade#getGeneralizationList()
2102      */
2103     public String getGeneralizationList()
2104     {
2105         return this.getSuperManageableEntity().getGeneralizationList();
2106     }
2107 
2108     /**
2109      * The element found when you recursively follow the generalization path up to the root. If an
2110      * element has no generalization itself will be considered the root.
2111      * @see GeneralizableElementFacade#getGeneralizationRoot()
2112      */
2113     public GeneralizableElementFacade getGeneralizationRoot()
2114     {
2115         return this.getSuperManageableEntity().getGeneralizationRoot();
2116     }
2117 
2118     /**
2119      * Return all generalizations (ancestors) from this generalizable element.
2120      * @see GeneralizableElementFacade#getGeneralizations()
2121      */
2122     public Collection<GeneralizableElementFacade> getGeneralizations()
2123     {
2124         return this.getSuperManageableEntity().getGeneralizations();
2125     }
2126 
2127     /**
2128      * Gets the direct specializations (i.e. sub elements) for this generalizatble element.
2129      * @see GeneralizableElementFacade#getSpecializations()
2130      */
2131     public Collection<GeneralizableElementFacade> getSpecializations()
2132     {
2133         return this.getSuperManageableEntity().getSpecializations();
2134     }
2135 
2136     /**
2137      * All entities to which can be browsed from this entity. Currently this property will simple
2138      * hold all entities, so the value is the same for any arbitrary entity. Hiding entities can be
2139      * done in the presentation tier, for example depending on runtime security information.
2140      * @see ManageableEntity#getAllManageables()
2141      */
2142     public List<ManageableEntity> getAllManageables()
2143     {
2144         return this.getSuperManageableEntity().getAllManageables();
2145     }
2146 
2147     /**
2148      * The attribute used as a key link to display values for this entity.
2149      * @see ManageableEntity#getDisplayAttribute()
2150      */
2151     public ManageableEntityAttribute getDisplayAttribute()
2152     {
2153         return this.getSuperManageableEntity().getDisplayAttribute();
2154     }
2155 
2156     /**
2157      * The fully qualified service name of the entity.
2158      * @see ManageableEntity#getFullyQualifiedManageableServiceName()
2159      */
2160     public String getFullyQualifiedManageableServiceName()
2161     {
2162         return this.getSuperManageableEntity().getFullyQualifiedManageableServiceName();
2163     }
2164 
2165     /**
2166      * The associations to other entities from this entity.
2167      * @see ManageableEntity#getManageableAssociationEnds()
2168      */
2169     public List<ManageableEntityAssociationEnd> getManageableAssociationEnds()
2170     {
2171         return this.getSuperManageableEntity().getManageableAssociationEnds();
2172     }
2173 
2174     /**
2175      * Lists the attributes that can be managed for this entity. This feature is particularly
2176      * important when resolving inherited attributes and ids.
2177      * @see ManageableEntity#getManageableAttributes()
2178      */
2179     public List<ManageableEntityAttribute> getManageableAttributes()
2180     {
2181         return this.getSuperManageableEntity().getManageableAttributes();
2182     }
2183 
2184     /**
2185      * The identifier used when managing this entity.
2186      * @see ManageableEntity#getManageableIdentifier()
2187      */
2188     public ManageableEntityAttribute getManageableIdentifier()
2189     {
2190         return this.getSuperManageableEntity().getManageableIdentifier();
2191     }
2192 
2193     /**
2194      * ManageableAttributes and ManageableAssociationEnds
2195      * @see ManageableEntity#getManageableMembers()
2196      */
2197     public List<ModelElementFacade> getManageableMembers()
2198     {
2199         return this.getSuperManageableEntity().getManageableMembers();
2200     }
2201 
2202     /**
2203      * The entity package name.
2204      * @see ManageableEntity#getManageablePackageName()
2205      */
2206     public String getManageablePackageName()
2207     {
2208         return this.getSuperManageableEntity().getManageablePackageName();
2209     }
2210 
2211     /**
2212      * The Package path of the Entity
2213      * @see ManageableEntity#getManageablePackagePath()
2214      */
2215     public String getManageablePackagePath()
2216     {
2217         return this.getSuperManageableEntity().getManageablePackagePath();
2218     }
2219 
2220     /**
2221      * The entity accessor (getter) call.
2222      * @see ManageableEntity#getManageableServiceAccessorCall()
2223      */
2224     public String getManageableServiceAccessorCall()
2225     {
2226         return this.getSuperManageableEntity().getManageableServiceAccessorCall();
2227     }
2228 
2229     /**
2230      * The service full path of the entity.
2231      * @see ManageableEntity#getManageableServiceFullPath()
2232      */
2233     public String getManageableServiceFullPath()
2234     {
2235         return this.getSuperManageableEntity().getManageableServiceFullPath();
2236     }
2237 
2238     /**
2239      * The service name of the entity.
2240      * @see ManageableEntity#getManageableServiceName()
2241      */
2242     public String getManageableServiceName()
2243     {
2244         return this.getSuperManageableEntity().getManageableServiceName();
2245     }
2246 
2247     /**
2248      * The maximum number of rows to load from the database.
2249      * @see ManageableEntity#getMaximumListSize()
2250      */
2251     public int getMaximumListSize()
2252     {
2253         return this.getSuperManageableEntity().getMaximumListSize();
2254     }
2255 
2256     /**
2257      * The maximum number of rows to load from the database.
2258      * @see ManageableEntity#getPageSize()
2259      */
2260     public int getPageSize()
2261     {
2262         return this.getSuperManageableEntity().getPageSize();
2263     }
2264 
2265     /**
2266      * Other Manageable Entities which reference this entity.
2267      * @see ManageableEntity#getReferencingManageables()
2268      */
2269     public List<ManageableEntity> getReferencingManageables()
2270     {
2271         return this.getSuperManageableEntity().getReferencingManageables();
2272     }
2273 
2274     /**
2275      * The Actors (Roles) which can manage the Entity.
2276      * @see ManageableEntity#getUsers()
2277      */
2278     public List<ActorFacade> getUsers()
2279     {
2280         return this.getSuperManageableEntity().getUsers();
2281     }
2282 
2283     /**
2284      * Create a create operation on the entity manager?
2285      * @see ManageableEntity#isCreate()
2286      */
2287     public boolean isCreate()
2288     {
2289         return this.getSuperManageableEntity().isCreate();
2290     }
2291 
2292     /**
2293      * Create a delete operation on the entity manager?
2294      * @see ManageableEntity#isDelete()
2295      */
2296     public boolean isDelete()
2297     {
2298         return this.getSuperManageableEntity().isDelete();
2299     }
2300 
2301     /**
2302      * True: Entity is manageable.
2303      * @see ManageableEntity#isManageable()
2304      */
2305     public boolean isManageable()
2306     {
2307         return this.getSuperManageableEntity().isManageable();
2308     }
2309 
2310     /**
2311      * Create a read operation on the entity manager?
2312      * @see ManageableEntity#isRead()
2313      */
2314     public boolean isRead()
2315     {
2316         return this.getSuperManageableEntity().isRead();
2317     }
2318 
2319     /**
2320      * The maximum number of rows to load from the database.
2321      * @see ManageableEntity#isResolveable()
2322      */
2323     public boolean isResolveable()
2324     {
2325         return this.getSuperManageableEntity().isResolveable();
2326     }
2327 
2328     /**
2329      * Create an update operation on the entity manager?
2330      * @see ManageableEntity#isUpdate()
2331      */
2332     public boolean isUpdate()
2333     {
2334         return this.getSuperManageableEntity().isUpdate();
2335     }
2336 
2337     /**
2338      * Returns a string with the attributes without wrapper types.
2339      * @see ManageableEntity#listManageableMembers(boolean withTypes)
2340      */
2341     public String listManageableMembers(boolean withTypes)
2342     {
2343         return this.getSuperManageableEntity().listManageableMembers(withTypes);
2344     }
2345 
2346     /**
2347      * Returns a string with the attributes and wrapper types.
2348      * @see ManageableEntity#listManageableMembersWithWrapperTypes()
2349      */
2350     public String listManageableMembersWithWrapperTypes()
2351     {
2352         return this.getSuperManageableEntity().listManageableMembersWithWrapperTypes();
2353     }
2354 
2355     /**
2356      * Copies all tagged values from the given ModelElementFacade to this model element facade.
2357      * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
2358      */
2359     public void copyTaggedValues(ModelElementFacade element)
2360     {
2361         this.getSuperManageableEntity().copyTaggedValues(element);
2362     }
2363 
2364     /**
2365      * Finds the tagged value with the specified 'tagName'. In case there are more values the first
2366      * one found will be returned.
2367      * @see ModelElementFacade#findTaggedValue(String tagName)
2368      */
2369     public Object findTaggedValue(String tagName)
2370     {
2371         return this.getSuperManageableEntity().findTaggedValue(tagName);
2372     }
2373 
2374     /**
2375      * Returns all the values for the tagged value with the specified name. The returned collection
2376      * will contains only String instances, or will be empty. Never null.
2377      * @see ModelElementFacade#findTaggedValues(String tagName)
2378      */
2379     public Collection<Object> findTaggedValues(String tagName)
2380     {
2381         return this.getSuperManageableEntity().findTaggedValues(tagName);
2382     }
2383 
2384     /**
2385      * Returns the fully qualified name of the model element. The fully qualified name includes
2386      * complete package qualified name of the underlying model element. The templates parameter will
2387      * be replaced by the correct one given the binding relation of the parameter to this element.
2388      * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2389      */
2390     public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
2391     {
2392         return this.getSuperManageableEntity().getBindedFullyQualifiedName(bindedElement);
2393     }
2394 
2395     /**
2396      * Gets all constraints belonging to the model element.
2397      * @see ModelElementFacade#getConstraints()
2398      */
2399     public Collection<ConstraintFacade> getConstraints()
2400     {
2401         return this.getSuperManageableEntity().getConstraints();
2402     }
2403 
2404     /**
2405      * Returns the constraints of the argument kind that have been placed onto this model. Typical
2406      * kinds are "inv", "pre" and "post". Other kinds are possible.
2407      * @see ModelElementFacade#getConstraints(String kind)
2408      */
2409     public Collection<ConstraintFacade> getConstraints(String kind)
2410     {
2411         return this.getSuperManageableEntity().getConstraints(kind);
2412     }
2413 
2414     /**
2415      * Gets the documentation for the model element, The indent argument is prefixed to each line.
2416      * By default this method wraps lines after 64 characters.
2417      * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
2418      * @see ModelElementFacade#getDocumentation(String indent)
2419      */
2420     public String getDocumentation(String indent)
2421     {
2422         return this.getSuperManageableEntity().getDocumentation(indent);
2423     }
2424 
2425     /**
2426      * This method returns the documentation for this model element, with the lines wrapped after
2427      * the specified number of characters, values of less than 1 will indicate no line wrapping is
2428      * required. By default paragraphs are returned as HTML.
2429      * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
2430      * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
2431      */
2432     public String getDocumentation(String indent, int lineLength)
2433     {
2434         return this.getSuperManageableEntity().getDocumentation(indent, lineLength);
2435     }
2436 
2437     /**
2438      * This method returns the documentation for this model element, with the lines wrapped after
2439      * the specified number of characters, values of less than 1 will indicate no line wrapping is
2440      * required. HTML style determines if HTML Escaping is applied.
2441      * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
2442      */
2443     public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
2444     {
2445         return this.getSuperManageableEntity().getDocumentation(indent, lineLength, htmlStyle);
2446     }
2447 
2448     /**
2449      * The fully qualified name of this model element.
2450      * @see ModelElementFacade#getFullyQualifiedName()
2451      */
2452     public String getFullyQualifiedName()
2453     {
2454         return this.getSuperManageableEntity().getFullyQualifiedName();
2455     }
2456 
2457     /**
2458      * Returns the fully qualified name of the model element. The fully qualified name includes
2459      * complete package qualified name of the underlying model element.  If modelName is true, then
2460      * the original name of the model element (the name contained within the model) will be the name
2461      * returned, otherwise a name from a language mapping will be returned.
2462      * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
2463      */
2464     public String getFullyQualifiedName(boolean modelName)
2465     {
2466         return this.getSuperManageableEntity().getFullyQualifiedName(modelName);
2467     }
2468 
2469     /**
2470      * Returns the fully qualified name as a path, the returned value always starts with out a slash
2471      * '/'.
2472      * @see ModelElementFacade#getFullyQualifiedNamePath()
2473      */
2474     public String getFullyQualifiedNamePath()
2475     {
2476         return this.getSuperManageableEntity().getFullyQualifiedNamePath();
2477     }
2478 
2479     /**
2480      * Gets the unique identifier of the underlying model element.
2481      * @see ModelElementFacade#getId()
2482      */
2483     public String getId()
2484     {
2485         return this.getSuperManageableEntity().getId();
2486     }
2487 
2488     /**
2489      * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
2490      * are not represented by other properties, i.e. native, transient, volatile, synchronized,
2491      * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
2492      * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
2493      * JDK5 compiler level.
2494      * @see ModelElementFacade#getKeywords()
2495      */
2496     public Collection<String> getKeywords()
2497     {
2498         return this.getSuperManageableEntity().getKeywords();
2499     }
2500 
2501     /**
2502      * UML2: Retrieves a localized label for this named element.
2503      * @see ModelElementFacade#getLabel()
2504      */
2505     public String getLabel()
2506     {
2507         return this.getSuperManageableEntity().getLabel();
2508     }
2509 
2510     /**
2511      * The language mappings that have been set for this model element.
2512      * @see ModelElementFacade#getLanguageMappings()
2513      */
2514     public TypeMappings getLanguageMappings()
2515     {
2516         return this.getSuperManageableEntity().getLanguageMappings();
2517     }
2518 
2519     /**
2520      * Return the model containing this model element (multiple models may be loaded and processed
2521      * at the same time).
2522      * @see ModelElementFacade#getModel()
2523      */
2524     public ModelFacade getModel()
2525     {
2526         return this.getSuperManageableEntity().getModel();
2527     }
2528 
2529     /**
2530      * The name of the model element.
2531      * @see ModelElementFacade#getName()
2532      */
2533     public String getName()
2534     {
2535         return this.getSuperManageableEntity().getName();
2536     }
2537 
2538     /**
2539      * Gets the package to which this model element belongs.
2540      * @see ModelElementFacade#getPackage()
2541      */
2542     public ModelElementFacade getPackage()
2543     {
2544         return this.getSuperManageableEntity().getPackage();
2545     }
2546 
2547     /**
2548      * The name of this model element's package.
2549      * @see ModelElementFacade#getPackageName()
2550      */
2551     public String getPackageName()
2552     {
2553         return this.getSuperManageableEntity().getPackageName();
2554     }
2555 
2556     /**
2557      * Gets the package name (optionally providing the ability to retrieve the model name and not
2558      * the mapped name).
2559      * @see ModelElementFacade#getPackageName(boolean modelName)
2560      */
2561     public String getPackageName(boolean modelName)
2562     {
2563         return this.getSuperManageableEntity().getPackageName(modelName);
2564     }
2565 
2566     /**
2567      * Returns the package as a path, the returned value always starts with out a slash '/'.
2568      * @see ModelElementFacade#getPackagePath()
2569      */
2570     public String getPackagePath()
2571     {
2572         return this.getSuperManageableEntity().getPackagePath();
2573     }
2574 
2575     /**
2576      * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
2577      * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
2578      * the names of the containing namespaces starting at the root of the hierarchy and ending with
2579      * the name of the NamedElement itself.
2580      * @see ModelElementFacade#getQualifiedName()
2581      */
2582     public String getQualifiedName()
2583     {
2584         return this.getSuperManageableEntity().getQualifiedName();
2585     }
2586 
2587     /**
2588      * Gets the root package for the model element.
2589      * @see ModelElementFacade#getRootPackage()
2590      */
2591     public PackageFacade getRootPackage()
2592     {
2593         return this.getSuperManageableEntity().getRootPackage();
2594     }
2595 
2596     /**
2597      * Gets the dependencies for which this model element is the source.
2598      * @see ModelElementFacade#getSourceDependencies()
2599      */
2600     public Collection<DependencyFacade> getSourceDependencies()
2601     {
2602         return this.getSuperManageableEntity().getSourceDependencies();
2603     }
2604 
2605     /**
2606      * If this model element is the context of an activity graph, this represents that activity
2607      * graph.
2608      * @see ModelElementFacade#getStateMachineContext()
2609      */
2610     public StateMachineFacade getStateMachineContext()
2611     {
2612         return this.getSuperManageableEntity().getStateMachineContext();
2613     }
2614 
2615     /**
2616      * The collection of ALL stereotype names for this model element.
2617      * @see ModelElementFacade#getStereotypeNames()
2618      */
2619     public Collection<String> getStereotypeNames()
2620     {
2621         return this.getSuperManageableEntity().getStereotypeNames();
2622     }
2623 
2624     /**
2625      * Gets all stereotypes for this model element.
2626      * @see ModelElementFacade#getStereotypes()
2627      */
2628     public Collection<StereotypeFacade> getStereotypes()
2629     {
2630         return this.getSuperManageableEntity().getStereotypes();
2631     }
2632 
2633     /**
2634      * Return the TaggedValues associated with this model element, under all stereotypes.
2635      * @see ModelElementFacade#getTaggedValues()
2636      */
2637     public Collection<TaggedValueFacade> getTaggedValues()
2638     {
2639         return this.getSuperManageableEntity().getTaggedValues();
2640     }
2641 
2642     /**
2643      * Gets the dependencies for which this model element is the target.
2644      * @see ModelElementFacade#getTargetDependencies()
2645      */
2646     public Collection<DependencyFacade> getTargetDependencies()
2647     {
2648         return this.getSuperManageableEntity().getTargetDependencies();
2649     }
2650 
2651     /**
2652      * Get the template parameter for this model element having the parameterName
2653      * @see ModelElementFacade#getTemplateParameter(String parameterName)
2654      */
2655     public Object getTemplateParameter(String parameterName)
2656     {
2657         return this.getSuperManageableEntity().getTemplateParameter(parameterName);
2658     }
2659 
2660     /**
2661      * Get the template parameters for this model element
2662      * @see ModelElementFacade#getTemplateParameters()
2663      */
2664     public Collection<TemplateParameterFacade> getTemplateParameters()
2665     {
2666         return this.getSuperManageableEntity().getTemplateParameters();
2667     }
2668 
2669     /**
2670      * The visibility (i.e. public, private, protected or package) of the model element, will
2671      * attempt a lookup for these values in the language mappings (if any).
2672      * @see ModelElementFacade#getVisibility()
2673      */
2674     public String getVisibility()
2675     {
2676         return this.getSuperManageableEntity().getVisibility();
2677     }
2678 
2679     /**
2680      * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
2681      * is taken into account when searching for the stereotype), false otherwise.
2682      * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
2683      */
2684     public boolean hasExactStereotype(String stereotypeName)
2685     {
2686         return this.getSuperManageableEntity().hasExactStereotype(stereotypeName);
2687     }
2688 
2689     /**
2690      * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
2691      * pipe, semicolon, or << >>
2692      * @see ModelElementFacade#hasKeyword(String keywordName)
2693      */
2694     public boolean hasKeyword(String keywordName)
2695     {
2696         return this.getSuperManageableEntity().hasKeyword(keywordName);
2697     }
2698 
2699     /**
2700      * Returns true if the model element has the specified stereotype.  If the stereotype itself
2701      * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
2702      * one of the stereotype's ancestors has a matching name this method will return true, false
2703      * otherwise.
2704      * For example, if we have a certain stereotype called <<exception>> and a model element has a
2705      * stereotype called <<applicationException>> which extends <<exception>>, when calling this
2706      * method with 'stereotypeName' defined as 'exception' the method would return true since
2707      * <<applicationException>> inherits from <<exception>>.  If you want to check if the model
2708      * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
2709      * @see ModelElementFacade#hasStereotype(String stereotypeName)
2710      */
2711     public boolean hasStereotype(String stereotypeName)
2712     {
2713         return this.getSuperManageableEntity().hasStereotype(stereotypeName);
2714     }
2715 
2716     /**
2717      * True if there are target dependencies from this element that are instances of BindingFacade.
2718      * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
2719      * @see ModelElementFacade#isBindingDependenciesPresent()
2720      */
2721     public boolean isBindingDependenciesPresent()
2722     {
2723         return this.getSuperManageableEntity().isBindingDependenciesPresent();
2724     }
2725 
2726     /**
2727      * Indicates if any constraints are present on this model element.
2728      * @see ModelElementFacade#isConstraintsPresent()
2729      */
2730     public boolean isConstraintsPresent()
2731     {
2732         return this.getSuperManageableEntity().isConstraintsPresent();
2733     }
2734 
2735     /**
2736      * Indicates if any documentation is present on this model element.
2737      * @see ModelElementFacade#isDocumentationPresent()
2738      */
2739     public boolean isDocumentationPresent()
2740     {
2741         return this.getSuperManageableEntity().isDocumentationPresent();
2742     }
2743 
2744     /**
2745      * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
2746      * @see ModelElementFacade#isReservedWord()
2747      */
2748     public boolean isReservedWord()
2749     {
2750         return this.getSuperManageableEntity().isReservedWord();
2751     }
2752 
2753     /**
2754      * True is there are template parameters on this model element. For UML2, applies to Class,
2755      * Operation, Property, and Parameter.
2756      * @see ModelElementFacade#isTemplateParametersPresent()
2757      */
2758     public boolean isTemplateParametersPresent()
2759     {
2760         return this.getSuperManageableEntity().isTemplateParametersPresent();
2761     }
2762 
2763     /**
2764      * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
2765      * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
2766      * Enumerations and Interfaces, optionally applies on other model elements.
2767      * @see ModelElementFacade#isValidIdentifierName()
2768      */
2769     public boolean isValidIdentifierName()
2770     {
2771         return this.getSuperManageableEntity().isValidIdentifierName();
2772     }
2773 
2774     /**
2775      * Searches for the constraint with the specified 'name' on this model element, and if found
2776      * translates it using the specified 'translation' from a translation library discovered by the
2777      * framework.
2778      * @see ModelElementFacade#translateConstraint(String name, String translation)
2779      */
2780     public String translateConstraint(String name, String translation)
2781     {
2782         return this.getSuperManageableEntity().translateConstraint(name, translation);
2783     }
2784 
2785     /**
2786      * Translates all constraints belonging to this model element with the given 'translation'.
2787      * @see ModelElementFacade#translateConstraints(String translation)
2788      */
2789     public String[] translateConstraints(String translation)
2790     {
2791         return this.getSuperManageableEntity().translateConstraints(translation);
2792     }
2793 
2794     /**
2795      * Translates the constraints of the specified 'kind' belonging to this model element.
2796      * @see ModelElementFacade#translateConstraints(String kind, String translation)
2797      */
2798     public String[] translateConstraints(String kind, String translation)
2799     {
2800         return this.getSuperManageableEntity().translateConstraints(kind, translation);
2801     }
2802 
2803     /**
2804      * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
2805      */
2806     @Override
2807     public void initialize()
2808     {
2809         this.getSuperManageableEntity().initialize();
2810     }
2811 
2812     /**
2813      * @return Object getSuperManageableEntity().getValidationOwner()
2814      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
2815      */
2816     @Override
2817     public Object getValidationOwner()
2818     {
2819         Object owner = this.getSuperManageableEntity().getValidationOwner();
2820         return owner;
2821     }
2822 
2823     /**
2824      * @return String getSuperManageableEntity().getValidationName()
2825      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
2826      */
2827     @Override
2828     public String getValidationName()
2829     {
2830         String name = this.getSuperManageableEntity().getValidationName();
2831         return name;
2832     }
2833 
2834     /**
2835      * @param validationMessages Collection<ModelValidationMessage>
2836      * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
2837      */
2838     @Override
2839     public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
2840     {
2841         this.getSuperManageableEntity().validateInvariants(validationMessages);
2842     }
2843 
2844     /**
2845      * The property that stores the name of the metafacade.
2846      */
2847     private static final String NAME_PROPERTY = "name";
2848     private static final String FQNAME_PROPERTY = "fullyQualifiedName";
2849 
2850     /**
2851      * @see Object#toString()
2852      */
2853     @Override
2854     public String toString()
2855     {
2856         final StringBuilder toString = new StringBuilder(this.getClass().getName());
2857         toString.append("[");
2858         try
2859         {
2860             toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
2861         }
2862         catch (final Throwable tryAgain)
2863         {
2864             try
2865             {
2866                 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
2867             }
2868             catch (final Throwable ignore)
2869             {
2870                 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
2871             }
2872         }
2873         toString.append("]");
2874         return toString.toString();
2875     }
2876 }