View Javadoc

1   //
2   // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
3   //
4   package org.andromda.cartridges.meta.metafacades;
5   
6   /***
7    * MetafacadeLogic for org.andromda.cartridges.meta.metafacades.Metafacade
8    *
9    * @see org.andromda.cartridges.meta.metafacades.Metafacade
10   */
11  public abstract class MetafacadeLogic
12      extends org.andromda.core.metafacade.MetafacadeBase
13      implements org.andromda.cartridges.meta.metafacades.Metafacade
14  {
15  
16      protected Object metaObject;
17  
18      public MetafacadeLogic(Object metaObject, String context)
19      {
20          super(metaObject, getContext(context));
21          this.superClassifierFacade =
22             (org.andromda.metafacades.uml.ClassifierFacade)
23              org.andromda.core.metafacade.MetafacadeFactory.getInstance().createFacadeImpl(
24                      "org.andromda.metafacades.uml.ClassifierFacade",
25                      metaObject,
26                      getContext(context));
27          this.metaObject = metaObject;
28      }
29  
30      /***
31       * Gets the context for this metafacade logic instance.
32       */
33      private static String getContext(String context)
34      {
35          if (context == null)
36          {
37              context = "org.andromda.cartridges.meta.metafacades.Metafacade";
38          }
39          return context;
40      }
41  
42      private org.andromda.metafacades.uml.ClassifierFacade superClassifierFacade;
43      private boolean superClassifierFacadeInitialized = false;
44  
45      /***
46       * Gets the org.andromda.metafacades.uml.ClassifierFacade parent instance.
47       */
48      private org.andromda.metafacades.uml.ClassifierFacade getSuperClassifierFacade()
49      {
50          if (!this.superClassifierFacadeInitialized)
51          {
52              ((org.andromda.core.metafacade.MetafacadeBase)superClassifierFacade).setMetafacadeContext(this.getMetafacadeContext());
53              this.superClassifierFacadeInitialized = true;
54          }
55          return superClassifierFacade;
56      }
57  
58      /***
59       * @see org.andromda.core.metafacade.MetafacadeBase
60       */
61      public void resetMetafacadeContext(String context)
62      {
63          if (!this.contextRoot) // reset context only for non-root metafacades
64          {
65              context = getContext(context);  // to have same value as in original constructor call
66              setMetafacadeContext (context);
67              if (this.superClassifierFacadeInitialized)
68              {
69                  ((org.andromda.core.metafacade.MetafacadeBase)superClassifierFacade).resetMetafacadeContext(context);
70              }
71          }
72      }
73  
74      /***
75       * @see org.andromda.cartridges.meta.metafacades.Metafacade
76       */
77      public boolean isMetafacadeMetaType()
78      {
79          return true;
80      }
81      
82      // --------------- attributes ---------------------
83  
84     /***
85      * @see org.andromda.cartridges.meta.metafacades.Metafacade#getLogicName()
86      */
87      protected abstract java.lang.String handleGetLogicName();
88  
89      private void handleGetLogicName1aPreCondition()
90      {
91      }
92  
93      private void handleGetLogicName1aPostCondition()
94      {
95      }
96  
97      private java.lang.String __logicName1a;
98      private boolean __logicName1aSet = false;
99  
100     public final java.lang.String getLogicName()
101     {
102         java.lang.String logicName1a = this.__logicName1a;
103         if (!this.__logicName1aSet)
104         {
105             handleGetLogicName1aPreCondition();
106             logicName1a = handleGetLogicName();
107             handleGetLogicName1aPostCondition();
108             this.__logicName1a = logicName1a;
109             if (isMetafacadePropertyCachingEnabled())
110             {
111                 this.__logicName1aSet = true;
112             }
113         }
114         return logicName1a;
115     }
116 
117    /***
118     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getLogicImplName()
119     */
120     protected abstract java.lang.String handleGetLogicImplName();
121 
122     private void handleGetLogicImplName2aPreCondition()
123     {
124     }
125 
126     private void handleGetLogicImplName2aPostCondition()
127     {
128     }
129 
130     private java.lang.String __logicImplName2a;
131     private boolean __logicImplName2aSet = false;
132 
133     public final java.lang.String getLogicImplName()
134     {
135         java.lang.String logicImplName2a = this.__logicImplName2a;
136         if (!this.__logicImplName2aSet)
137         {
138             handleGetLogicImplName2aPreCondition();
139             logicImplName2a = handleGetLogicImplName();
140             handleGetLogicImplName2aPostCondition();
141             this.__logicImplName2a = logicImplName2a;
142             if (isMetafacadePropertyCachingEnabled())
143             {
144                 this.__logicImplName2aSet = true;
145             }
146         }
147         return logicImplName2a;
148     }
149 
150    /***
151     * @see org.andromda.cartridges.meta.metafacades.Metafacade#isMetaclassDirectDependency()
152     */
153     protected abstract boolean handleIsMetaclassDirectDependency();
154 
155     private void handleIsMetaclassDirectDependency3aPreCondition()
156     {
157     }
158 
159     private void handleIsMetaclassDirectDependency3aPostCondition()
160     {
161     }
162 
163     private boolean __metaclassDirectDependency3a;
164     private boolean __metaclassDirectDependency3aSet = false;
165 
166     public final boolean isMetaclassDirectDependency()
167     {
168         boolean metaclassDirectDependency3a = this.__metaclassDirectDependency3a;
169         if (!this.__metaclassDirectDependency3aSet)
170         {
171             handleIsMetaclassDirectDependency3aPreCondition();
172             metaclassDirectDependency3a = handleIsMetaclassDirectDependency();
173             handleIsMetaclassDirectDependency3aPostCondition();
174             this.__metaclassDirectDependency3a = metaclassDirectDependency3a;
175             if (isMetafacadePropertyCachingEnabled())
176             {
177                 this.__metaclassDirectDependency3aSet = true;
178             }
179         }
180         return metaclassDirectDependency3a;
181     }
182 
183    /***
184     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getFullyQualifiedLogicImplName()
185     */
186     protected abstract java.lang.String handleGetFullyQualifiedLogicImplName();
187 
188     private void handleGetFullyQualifiedLogicImplName4aPreCondition()
189     {
190     }
191 
192     private void handleGetFullyQualifiedLogicImplName4aPostCondition()
193     {
194     }
195 
196     private java.lang.String __fullyQualifiedLogicImplName4a;
197     private boolean __fullyQualifiedLogicImplName4aSet = false;
198 
199     public final java.lang.String getFullyQualifiedLogicImplName()
200     {
201         java.lang.String fullyQualifiedLogicImplName4a = this.__fullyQualifiedLogicImplName4a;
202         if (!this.__fullyQualifiedLogicImplName4aSet)
203         {
204             handleGetFullyQualifiedLogicImplName4aPreCondition();
205             fullyQualifiedLogicImplName4a = handleGetFullyQualifiedLogicImplName();
206             handleGetFullyQualifiedLogicImplName4aPostCondition();
207             this.__fullyQualifiedLogicImplName4a = fullyQualifiedLogicImplName4a;
208             if (isMetafacadePropertyCachingEnabled())
209             {
210                 this.__fullyQualifiedLogicImplName4aSet = true;
211             }
212         }
213         return fullyQualifiedLogicImplName4a;
214     }
215 
216    /***
217     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getFullyQualifiedLogicName()
218     */
219     protected abstract java.lang.String handleGetFullyQualifiedLogicName();
220 
221     private void handleGetFullyQualifiedLogicName5aPreCondition()
222     {
223     }
224 
225     private void handleGetFullyQualifiedLogicName5aPostCondition()
226     {
227     }
228 
229     private java.lang.String __fullyQualifiedLogicName5a;
230     private boolean __fullyQualifiedLogicName5aSet = false;
231 
232     public final java.lang.String getFullyQualifiedLogicName()
233     {
234         java.lang.String fullyQualifiedLogicName5a = this.__fullyQualifiedLogicName5a;
235         if (!this.__fullyQualifiedLogicName5aSet)
236         {
237             handleGetFullyQualifiedLogicName5aPreCondition();
238             fullyQualifiedLogicName5a = handleGetFullyQualifiedLogicName();
239             handleGetFullyQualifiedLogicName5aPostCondition();
240             this.__fullyQualifiedLogicName5a = fullyQualifiedLogicName5a;
241             if (isMetafacadePropertyCachingEnabled())
242             {
243                 this.__fullyQualifiedLogicName5aSet = true;
244             }
245         }
246         return fullyQualifiedLogicName5a;
247     }
248 
249    /***
250     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getLogicFile()
251     */
252     protected abstract java.lang.String handleGetLogicFile();
253 
254     private void handleGetLogicFile6aPreCondition()
255     {
256     }
257 
258     private void handleGetLogicFile6aPostCondition()
259     {
260     }
261 
262     private java.lang.String __logicFile6a;
263     private boolean __logicFile6aSet = false;
264 
265     public final java.lang.String getLogicFile()
266     {
267         java.lang.String logicFile6a = this.__logicFile6a;
268         if (!this.__logicFile6aSet)
269         {
270             handleGetLogicFile6aPreCondition();
271             logicFile6a = handleGetLogicFile();
272             handleGetLogicFile6aPostCondition();
273             this.__logicFile6a = logicFile6a;
274             if (isMetafacadePropertyCachingEnabled())
275             {
276                 this.__logicFile6aSet = true;
277             }
278         }
279         return logicFile6a;
280     }
281 
282    /***
283     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getLogicImplFile()
284     */
285     protected abstract java.lang.String handleGetLogicImplFile();
286 
287     private void handleGetLogicImplFile7aPreCondition()
288     {
289     }
290 
291     private void handleGetLogicImplFile7aPostCondition()
292     {
293     }
294 
295     private java.lang.String __logicImplFile7a;
296     private boolean __logicImplFile7aSet = false;
297 
298     public final java.lang.String getLogicImplFile()
299     {
300         java.lang.String logicImplFile7a = this.__logicImplFile7a;
301         if (!this.__logicImplFile7aSet)
302         {
303             handleGetLogicImplFile7aPreCondition();
304             logicImplFile7a = handleGetLogicImplFile();
305             handleGetLogicImplFile7aPostCondition();
306             this.__logicImplFile7a = logicImplFile7a;
307             if (isMetafacadePropertyCachingEnabled())
308             {
309                 this.__logicImplFile7aSet = true;
310             }
311         }
312         return logicImplFile7a;
313     }
314 
315    /***
316     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getLogicPackageName()
317     */
318     protected abstract java.lang.String handleGetLogicPackageName();
319 
320     private void handleGetLogicPackageName8aPreCondition()
321     {
322     }
323 
324     private void handleGetLogicPackageName8aPostCondition()
325     {
326     }
327 
328     private java.lang.String __logicPackageName8a;
329     private boolean __logicPackageName8aSet = false;
330 
331     public final java.lang.String getLogicPackageName()
332     {
333         java.lang.String logicPackageName8a = this.__logicPackageName8a;
334         if (!this.__logicPackageName8aSet)
335         {
336             handleGetLogicPackageName8aPreCondition();
337             logicPackageName8a = handleGetLogicPackageName();
338             handleGetLogicPackageName8aPostCondition();
339             this.__logicPackageName8a = logicPackageName8a;
340             if (isMetafacadePropertyCachingEnabled())
341             {
342                 this.__logicPackageName8aSet = true;
343             }
344         }
345         return logicPackageName8a;
346     }
347 
348    /***
349     * @see org.andromda.cartridges.meta.metafacades.Metafacade#isRequiresInheritanceDelegatation()
350     */
351     protected abstract boolean handleIsRequiresInheritanceDelegatation();
352 
353     private void handleIsRequiresInheritanceDelegatation9aPreCondition()
354     {
355     }
356 
357     private void handleIsRequiresInheritanceDelegatation9aPostCondition()
358     {
359     }
360 
361     private boolean __requiresInheritanceDelegatation9a;
362     private boolean __requiresInheritanceDelegatation9aSet = false;
363 
364     public final boolean isRequiresInheritanceDelegatation()
365     {
366         boolean requiresInheritanceDelegatation9a = this.__requiresInheritanceDelegatation9a;
367         if (!this.__requiresInheritanceDelegatation9aSet)
368         {
369             handleIsRequiresInheritanceDelegatation9aPreCondition();
370             requiresInheritanceDelegatation9a = handleIsRequiresInheritanceDelegatation();
371             handleIsRequiresInheritanceDelegatation9aPostCondition();
372             this.__requiresInheritanceDelegatation9a = requiresInheritanceDelegatation9a;
373             if (isMetafacadePropertyCachingEnabled())
374             {
375                 this.__requiresInheritanceDelegatation9aSet = true;
376             }
377         }
378         return requiresInheritanceDelegatation9a;
379     }
380 
381    /***
382     * @see org.andromda.cartridges.meta.metafacades.Metafacade#isConstructorRequiresMetaclassCast()
383     */
384     protected abstract boolean handleIsConstructorRequiresMetaclassCast();
385 
386     private void handleIsConstructorRequiresMetaclassCast10aPreCondition()
387     {
388     }
389 
390     private void handleIsConstructorRequiresMetaclassCast10aPostCondition()
391     {
392     }
393 
394     private boolean __constructorRequiresMetaclassCast10a;
395     private boolean __constructorRequiresMetaclassCast10aSet = false;
396 
397     public final boolean isConstructorRequiresMetaclassCast()
398     {
399         boolean constructorRequiresMetaclassCast10a = this.__constructorRequiresMetaclassCast10a;
400         if (!this.__constructorRequiresMetaclassCast10aSet)
401         {
402             handleIsConstructorRequiresMetaclassCast10aPreCondition();
403             constructorRequiresMetaclassCast10a = handleIsConstructorRequiresMetaclassCast();
404             handleIsConstructorRequiresMetaclassCast10aPostCondition();
405             this.__constructorRequiresMetaclassCast10a = constructorRequiresMetaclassCast10a;
406             if (isMetafacadePropertyCachingEnabled())
407             {
408                 this.__constructorRequiresMetaclassCast10aSet = true;
409             }
410         }
411         return constructorRequiresMetaclassCast10a;
412     }
413 
414    /***
415     * @see org.andromda.cartridges.meta.metafacades.Metafacade#getGeneralizationCount()
416     */
417     protected abstract int handleGetGeneralizationCount();
418 
419     private void handleGetGeneralizationCount11aPreCondition()
420     {
421     }
422 
423     private void handleGetGeneralizationCount11aPostCondition()
424     {
425     }
426 
427     private int __generalizationCount11a;
428     private boolean __generalizationCount11aSet = false;
429 
430     public final int getGeneralizationCount()
431     {
432         int generalizationCount11a = this.__generalizationCount11a;
433         if (!this.__generalizationCount11aSet)
434         {
435             handleGetGeneralizationCount11aPreCondition();
436             generalizationCount11a = handleGetGeneralizationCount();
437             handleGetGeneralizationCount11aPostCondition();
438             this.__generalizationCount11a = generalizationCount11a;
439             if (isMetafacadePropertyCachingEnabled())
440             {
441                 this.__generalizationCount11aSet = true;
442             }
443         }
444         return generalizationCount11a;
445     }
446 
447     // ---------------- business methods ----------------------
448 
449     protected abstract java.util.Collection handleGetMethodDataForPSM(org.andromda.metafacades.uml.ClassifierFacade superMetafacade);
450 
451     private void handleGetMethodDataForPSM1oPreCondition()
452     {
453     }
454 
455     private void handleGetMethodDataForPSM1oPostCondition()
456     {
457     }
458 
459     public java.util.Collection getMethodDataForPSM(org.andromda.metafacades.uml.ClassifierFacade superMetafacade)
460     {
461         handleGetMethodDataForPSM1oPreCondition();
462         java.util.Collection returnValue = handleGetMethodDataForPSM(superMetafacade);
463         handleGetMethodDataForPSM1oPostCondition();
464         return returnValue;
465     }
466 
467     protected abstract java.util.Collection handleGetMethodDataForPSM();
468 
469     private void handleGetMethodDataForPSM2oPreCondition()
470     {
471     }
472 
473     private void handleGetMethodDataForPSM2oPostCondition()
474     {
475     }
476 
477     public java.util.Collection getMethodDataForPSM()
478     {
479         handleGetMethodDataForPSM2oPreCondition();
480         java.util.Collection returnValue = handleGetMethodDataForPSM();
481         handleGetMethodDataForPSM2oPostCondition();
482         return returnValue;
483     }
484 
485     // ------------- associations ------------------
486 
487     private void handleGetAllParents1rPreCondition()
488     {
489     }
490 
491     private void handleGetAllParents1rPostCondition()
492     {
493     }
494 
495     public final java.util.Collection getAllParents()
496     {
497         java.util.Collection getAllParents1r = null;
498         handleGetAllParents1rPreCondition();
499         Object result = this.shieldedElements(handleGetAllParents());
500         try
501         {
502             getAllParents1r = (java.util.Collection)result;
503         }
504         catch (ClassCastException ex)
505         {
506             // ignore since the metafacade shouldn't
507             // be set if its not of the correct type
508         }
509         handleGetAllParents1rPostCondition();
510         return getAllParents1r;
511     }
512 
513     protected abstract java.util.Collection handleGetAllParents();
514 
515     private void handleGetMetaclass3rPreCondition()
516     {
517     }
518 
519     private void handleGetMetaclass3rPostCondition()
520     {
521     }
522 
523     private org.andromda.metafacades.uml.ClassifierFacade __getMetaclass3r;
524     private boolean __getMetaclass3rSet = false;
525 
526     public final org.andromda.metafacades.uml.ClassifierFacade getMetaclass()
527     {
528         org.andromda.metafacades.uml.ClassifierFacade getMetaclass3r = this.__getMetaclass3r;
529         if (!this.__getMetaclass3rSet)
530         {
531             handleGetMetaclass3rPreCondition();
532             Object result = this.shieldedElement(handleGetMetaclass());
533             try
534             {
535                 getMetaclass3r = (org.andromda.metafacades.uml.ClassifierFacade)result;
536             }
537             catch (ClassCastException ex)
538             {
539                 // ignore since the metafacade shouldn't
540                 // be set if its not of the correct type
541             }
542             handleGetMetaclass3rPostCondition();
543             this.__getMetaclass3r = getMetaclass3r;
544             if (isMetafacadePropertyCachingEnabled())
545             {
546                 this.__getMetaclass3rSet = true;
547             }
548         }
549         return getMetaclass3r;
550     }
551 
552     protected abstract java.lang.Object handleGetMetaclass();
553 
554     /***
555      * @see org.andromda.metafacades.uml.ClassifierFacade
556      */
557     public boolean isClassifierFacadeMetaType()
558     {
559         return true;
560     }
561     
562     /***
563      * @see org.andromda.metafacades.uml.GeneralizableElementFacade
564      */
565     public boolean isGeneralizableElementFacadeMetaType()
566     {
567         return true;
568     }
569     
570     /***
571      * @see org.andromda.metafacades.uml.ModelElementFacade
572      */
573     public boolean isModelElementFacadeMetaType()
574     {
575         return true;
576     }
577     
578     // ----------- delegates to org.andromda.metafacades.uml.ClassifierFacade ------------
579     // from org.andromda.metafacades.uml.ClassifierFacade
580     public org.andromda.metafacades.uml.AttributeFacade findAttribute(java.lang.String name)
581     {
582         return this.getSuperClassifierFacade().findAttribute(name);
583     }
584 
585     // from org.andromda.metafacades.uml.ClassifierFacade
586     public java.util.Collection getAbstractions()
587     {
588         return this.getSuperClassifierFacade().getAbstractions();
589     }
590 
591     // from org.andromda.metafacades.uml.ClassifierFacade
592     public java.util.Collection getAllAssociatedClasses()
593     {
594         return this.getSuperClassifierFacade().getAllAssociatedClasses();
595     }
596 
597     // from org.andromda.metafacades.uml.ClassifierFacade
598     public java.util.Collection getAllProperties()
599     {
600         return this.getSuperClassifierFacade().getAllProperties();
601     }
602 
603     // from org.andromda.metafacades.uml.ClassifierFacade
604     public java.util.Collection getAllRequiredConstructorParameters()
605     {
606         return this.getSuperClassifierFacade().getAllRequiredConstructorParameters();
607     }
608 
609     // from org.andromda.metafacades.uml.ClassifierFacade
610     public org.andromda.metafacades.uml.ClassifierFacade getArray()
611     {
612         return this.getSuperClassifierFacade().getArray();
613     }
614 
615     // from org.andromda.metafacades.uml.ClassifierFacade
616     public java.lang.String getArrayName()
617     {
618         return this.getSuperClassifierFacade().getArrayName();
619     }
620 
621     // from org.andromda.metafacades.uml.ClassifierFacade
622     public java.util.Collection getAssociatedClasses()
623     {
624         return this.getSuperClassifierFacade().getAssociatedClasses();
625     }
626 
627     // from org.andromda.metafacades.uml.ClassifierFacade
628     public java.util.List getAssociationEnds()
629     {
630         return this.getSuperClassifierFacade().getAssociationEnds();
631     }
632 
633     // from org.andromda.metafacades.uml.ClassifierFacade
634     public java.util.Collection getAttributes()
635     {
636         return this.getSuperClassifierFacade().getAttributes();
637     }
638 
639     // from org.andromda.metafacades.uml.ClassifierFacade
640     public java.util.Collection getAttributes(boolean follow)
641     {
642         return this.getSuperClassifierFacade().getAttributes(follow);
643     }
644 
645     // from org.andromda.metafacades.uml.ClassifierFacade
646     public java.lang.String getFullyQualifiedArrayName()
647     {
648         return this.getSuperClassifierFacade().getFullyQualifiedArrayName();
649     }
650 
651     // from org.andromda.metafacades.uml.ClassifierFacade
652     public java.util.Collection getImplementationOperations()
653     {
654         return this.getSuperClassifierFacade().getImplementationOperations();
655     }
656 
657     // from org.andromda.metafacades.uml.ClassifierFacade
658     public java.lang.String getImplementedInterfaceList()
659     {
660         return this.getSuperClassifierFacade().getImplementedInterfaceList();
661     }
662 
663     // from org.andromda.metafacades.uml.ClassifierFacade
664     public java.util.Collection getInstanceAttributes()
665     {
666         return this.getSuperClassifierFacade().getInstanceAttributes();
667     }
668 
669     // from org.andromda.metafacades.uml.ClassifierFacade
670     public java.util.Collection getInstanceOperations()
671     {
672         return this.getSuperClassifierFacade().getInstanceOperations();
673     }
674 
675     // from org.andromda.metafacades.uml.ClassifierFacade
676     public java.util.Collection getInterfaceAbstractions()
677     {
678         return this.getSuperClassifierFacade().getInterfaceAbstractions();
679     }
680 
681     // from org.andromda.metafacades.uml.ClassifierFacade
682     public java.lang.String getJavaNullString()
683     {
684         return this.getSuperClassifierFacade().getJavaNullString();
685     }
686 
687     // from org.andromda.metafacades.uml.ClassifierFacade
688     public java.util.Collection getNavigableConnectingEnds()
689     {
690         return this.getSuperClassifierFacade().getNavigableConnectingEnds();
691     }
692 
693     // from org.andromda.metafacades.uml.ClassifierFacade
694     public java.util.Collection getNavigableConnectingEnds(boolean follow)
695     {
696         return this.getSuperClassifierFacade().getNavigableConnectingEnds(follow);
697     }
698 
699     // from org.andromda.metafacades.uml.ClassifierFacade
700     public org.andromda.metafacades.uml.ClassifierFacade getNonArray()
701     {
702         return this.getSuperClassifierFacade().getNonArray();
703     }
704 
705     // from org.andromda.metafacades.uml.ClassifierFacade
706     public java.lang.String getOperationCallFromAttributes()
707     {
708         return this.getSuperClassifierFacade().getOperationCallFromAttributes();
709     }
710 
711     // from org.andromda.metafacades.uml.ClassifierFacade
712     public java.util.Collection getOperations()
713     {
714         return this.getSuperClassifierFacade().getOperations();
715     }
716 
717     // from org.andromda.metafacades.uml.ClassifierFacade
718     public java.util.Collection getProperties()
719     {
720         return this.getSuperClassifierFacade().getProperties();
721     }
722 
723     // from org.andromda.metafacades.uml.ClassifierFacade
724     public java.util.Collection getProperties(boolean follow)
725     {
726         return this.getSuperClassifierFacade().getProperties(follow);
727     }
728 
729     // from org.andromda.metafacades.uml.ClassifierFacade
730     public java.util.Collection getRequiredConstructorParameters()
731     {
732         return this.getSuperClassifierFacade().getRequiredConstructorParameters();
733     }
734 
735     // from org.andromda.metafacades.uml.ClassifierFacade
736     public java.lang.Long getSerialVersionUID()
737     {
738         return this.getSuperClassifierFacade().getSerialVersionUID();
739     }
740 
741     // from org.andromda.metafacades.uml.ClassifierFacade
742     public java.util.Collection getStaticAttributes()
743     {
744         return this.getSuperClassifierFacade().getStaticAttributes();
745     }
746 
747     // from org.andromda.metafacades.uml.ClassifierFacade
748     public java.util.Collection getStaticOperations()
749     {
750         return this.getSuperClassifierFacade().getStaticOperations();
751     }
752 
753     // from org.andromda.metafacades.uml.ClassifierFacade
754     public org.andromda.metafacades.uml.ClassifierFacade getSuperClass()
755     {
756         return this.getSuperClassifierFacade().getSuperClass();
757     }
758 
759     // from org.andromda.metafacades.uml.ClassifierFacade
760     public java.lang.String getWrapperName()
761     {
762         return this.getSuperClassifierFacade().getWrapperName();
763     }
764 
765     // from org.andromda.metafacades.uml.ClassifierFacade
766     public boolean isAbstract()
767     {
768         return this.getSuperClassifierFacade().isAbstract();
769     }
770 
771     // from org.andromda.metafacades.uml.ClassifierFacade
772     public boolean isArrayType()
773     {
774         return this.getSuperClassifierFacade().isArrayType();
775     }
776 
777     // from org.andromda.metafacades.uml.ClassifierFacade
778     public boolean isAssociationClass()
779     {
780         return this.getSuperClassifierFacade().isAssociationClass();
781     }
782 
783     // from org.andromda.metafacades.uml.ClassifierFacade
784     public boolean isBlobType()
785     {
786         return this.getSuperClassifierFacade().isBlobType();
787     }
788 
789     // from org.andromda.metafacades.uml.ClassifierFacade
790     public boolean isBooleanType()
791     {
792         return this.getSuperClassifierFacade().isBooleanType();
793     }
794 
795     // from org.andromda.metafacades.uml.ClassifierFacade
796     public boolean isClobType()
797     {
798         return this.getSuperClassifierFacade().isClobType();
799     }
800 
801     // from org.andromda.metafacades.uml.ClassifierFacade
802     public boolean isCollectionType()
803     {
804         return this.getSuperClassifierFacade().isCollectionType();
805     }
806 
807     // from org.andromda.metafacades.uml.ClassifierFacade
808     public boolean isDataType()
809     {
810         return this.getSuperClassifierFacade().isDataType();
811     }
812 
813     // from org.andromda.metafacades.uml.ClassifierFacade
814     public boolean isDateType()
815     {
816         return this.getSuperClassifierFacade().isDateType();
817     }
818 
819     // from org.andromda.metafacades.uml.ClassifierFacade
820     public boolean isEnumeration()
821     {
822         return this.getSuperClassifierFacade().isEnumeration();
823     }
824 
825     // from org.andromda.metafacades.uml.ClassifierFacade
826     public boolean isFileType()
827     {
828         return this.getSuperClassifierFacade().isFileType();
829     }
830 
831     // from org.andromda.metafacades.uml.ClassifierFacade
832     public boolean isInterface()
833     {
834         return this.getSuperClassifierFacade().isInterface();
835     }
836 
837     // from org.andromda.metafacades.uml.ClassifierFacade
838     public boolean isLeaf()
839     {
840         return this.getSuperClassifierFacade().isLeaf();
841     }
842 
843     // from org.andromda.metafacades.uml.ClassifierFacade
844     public boolean isListType()
845     {
846         return this.getSuperClassifierFacade().isListType();
847     }
848 
849     // from org.andromda.metafacades.uml.ClassifierFacade
850     public boolean isMapType()
851     {
852         return this.getSuperClassifierFacade().isMapType();
853     }
854 
855     // from org.andromda.metafacades.uml.ClassifierFacade
856     public boolean isPrimitive()
857     {
858         return this.getSuperClassifierFacade().isPrimitive();
859     }
860 
861     // from org.andromda.metafacades.uml.ClassifierFacade
862     public boolean isSetType()
863     {
864         return this.getSuperClassifierFacade().isSetType();
865     }
866 
867     // from org.andromda.metafacades.uml.ClassifierFacade
868     public boolean isStringType()
869     {
870         return this.getSuperClassifierFacade().isStringType();
871     }
872 
873     // from org.andromda.metafacades.uml.ClassifierFacade
874     public boolean isTimeType()
875     {
876         return this.getSuperClassifierFacade().isTimeType();
877     }
878 
879     // from org.andromda.metafacades.uml.GeneralizableElementFacade
880     public java.lang.Object findTaggedValue(java.lang.String tagName, boolean follow)
881     {
882         return this.getSuperClassifierFacade().findTaggedValue(tagName, follow);
883     }
884 
885     // from org.andromda.metafacades.uml.GeneralizableElementFacade
886     public java.util.Collection getAllGeneralizations()
887     {
888         return this.getSuperClassifierFacade().getAllGeneralizations();
889     }
890 
891     // from org.andromda.metafacades.uml.GeneralizableElementFacade
892     public java.util.Collection getAllSpecializations()
893     {
894         return this.getSuperClassifierFacade().getAllSpecializations();
895     }
896 
897     // from org.andromda.metafacades.uml.GeneralizableElementFacade
898     public org.andromda.metafacades.uml.GeneralizableElementFacade getGeneralization()
899     {
900         return this.getSuperClassifierFacade().getGeneralization();
901     }
902 
903     // from org.andromda.metafacades.uml.GeneralizableElementFacade
904     public java.util.Collection getGeneralizationLinks()
905     {
906         return this.getSuperClassifierFacade().getGeneralizationLinks();
907     }
908 
909     // from org.andromda.metafacades.uml.GeneralizableElementFacade
910     public java.lang.String getGeneralizationList()
911     {
912         return this.getSuperClassifierFacade().getGeneralizationList();
913     }
914 
915     // from org.andromda.metafacades.uml.GeneralizableElementFacade
916     public org.andromda.metafacades.uml.GeneralizableElementFacade getGeneralizationRoot()
917     {
918         return this.getSuperClassifierFacade().getGeneralizationRoot();
919     }
920 
921     // from org.andromda.metafacades.uml.GeneralizableElementFacade
922     public java.util.Collection getGeneralizations()
923     {
924         return this.getSuperClassifierFacade().getGeneralizations();
925     }
926 
927     // from org.andromda.metafacades.uml.GeneralizableElementFacade
928     public java.util.Collection getSpecializations()
929     {
930         return this.getSuperClassifierFacade().getSpecializations();
931     }
932 
933     // from org.andromda.metafacades.uml.ModelElementFacade
934     public void copyTaggedValues(org.andromda.metafacades.uml.ModelElementFacade element)
935     {
936         this.getSuperClassifierFacade().copyTaggedValues(element);
937     }
938 
939     // from org.andromda.metafacades.uml.ModelElementFacade
940     public java.lang.Object findTaggedValue(java.lang.String tagName)
941     {
942         return this.getSuperClassifierFacade().findTaggedValue(tagName);
943     }
944 
945     // from org.andromda.metafacades.uml.ModelElementFacade
946     public java.util.Collection findTaggedValues(java.lang.String tagName)
947     {
948         return this.getSuperClassifierFacade().findTaggedValues(tagName);
949     }
950 
951     // from org.andromda.metafacades.uml.ModelElementFacade
952     public java.util.Collection getConstraints()
953     {
954         return this.getSuperClassifierFacade().getConstraints();
955     }
956 
957     // from org.andromda.metafacades.uml.ModelElementFacade
958     public java.util.Collection getConstraints(java.lang.String kind)
959     {
960         return this.getSuperClassifierFacade().getConstraints(kind);
961     }
962 
963     // from org.andromda.metafacades.uml.ModelElementFacade
964     public java.lang.String getDocumentation(java.lang.String indent, int lineLength)
965     {
966         return this.getSuperClassifierFacade().getDocumentation(indent, lineLength);
967     }
968 
969     // from org.andromda.metafacades.uml.ModelElementFacade
970     public java.lang.String getDocumentation(java.lang.String indent, int lineLength, boolean htmlStyle)
971     {
972         return this.getSuperClassifierFacade().getDocumentation(indent, lineLength, htmlStyle);
973     }
974 
975     // from org.andromda.metafacades.uml.ModelElementFacade
976     public java.lang.String getDocumentation(java.lang.String indent)
977     {
978         return this.getSuperClassifierFacade().getDocumentation(indent);
979     }
980 
981     // from org.andromda.metafacades.uml.ModelElementFacade
982     public java.lang.String getFullyQualifiedName(boolean modelName)
983     {
984         return this.getSuperClassifierFacade().getFullyQualifiedName(modelName);
985     }
986 
987     // from org.andromda.metafacades.uml.ModelElementFacade
988     public java.lang.String getFullyQualifiedName()
989     {
990         return this.getSuperClassifierFacade().getFullyQualifiedName();
991     }
992 
993     // from org.andromda.metafacades.uml.ModelElementFacade
994     public java.lang.String getFullyQualifiedNamePath()
995     {
996         return this.getSuperClassifierFacade().getFullyQualifiedNamePath();
997     }
998 
999     // from org.andromda.metafacades.uml.ModelElementFacade
1000     public java.lang.String getId()
1001     {
1002         return this.getSuperClassifierFacade().getId();
1003     }
1004 
1005     // from org.andromda.metafacades.uml.ModelElementFacade
1006     public org.andromda.metafacades.uml.TypeMappings getLanguageMappings()
1007     {
1008         return this.getSuperClassifierFacade().getLanguageMappings();
1009     }
1010 
1011     // from org.andromda.metafacades.uml.ModelElementFacade
1012     public org.andromda.metafacades.uml.ModelFacade getModel()
1013     {
1014         return this.getSuperClassifierFacade().getModel();
1015     }
1016 
1017     // from org.andromda.metafacades.uml.ModelElementFacade
1018     public java.lang.String getName()
1019     {
1020         return this.getSuperClassifierFacade().getName();
1021     }
1022 
1023     // from org.andromda.metafacades.uml.ModelElementFacade
1024     public org.andromda.metafacades.uml.ModelElementFacade getPackage()
1025     {
1026         return this.getSuperClassifierFacade().getPackage();
1027     }
1028 
1029     // from org.andromda.metafacades.uml.ModelElementFacade
1030     public java.lang.String getPackageName(boolean modelName)
1031     {
1032         return this.getSuperClassifierFacade().getPackageName(modelName);
1033     }
1034 
1035     // from org.andromda.metafacades.uml.ModelElementFacade
1036     public java.lang.String getPackageName()
1037     {
1038         return this.getSuperClassifierFacade().getPackageName();
1039     }
1040 
1041     // from org.andromda.metafacades.uml.ModelElementFacade
1042     public java.lang.String getPackagePath()
1043     {
1044         return this.getSuperClassifierFacade().getPackagePath();
1045     }
1046 
1047     // from org.andromda.metafacades.uml.ModelElementFacade
1048     public org.andromda.metafacades.uml.PackageFacade getRootPackage()
1049     {
1050         return this.getSuperClassifierFacade().getRootPackage();
1051     }
1052 
1053     // from org.andromda.metafacades.uml.ModelElementFacade
1054     public java.util.Collection getSourceDependencies()
1055     {
1056         return this.getSuperClassifierFacade().getSourceDependencies();
1057     }
1058 
1059     // from org.andromda.metafacades.uml.ModelElementFacade
1060     public org.andromda.metafacades.uml.StateMachineFacade getStateMachineContext()
1061     {
1062         return this.getSuperClassifierFacade().getStateMachineContext();
1063     }
1064 
1065     // from org.andromda.metafacades.uml.ModelElementFacade
1066     public java.util.Collection getStereotypeNames()
1067     {
1068         return this.getSuperClassifierFacade().getStereotypeNames();
1069     }
1070 
1071     // from org.andromda.metafacades.uml.ModelElementFacade
1072     public java.util.Collection getStereotypes()
1073     {
1074         return this.getSuperClassifierFacade().getStereotypes();
1075     }
1076 
1077     // from org.andromda.metafacades.uml.ModelElementFacade
1078     public java.util.Collection getTaggedValues()
1079     {
1080         return this.getSuperClassifierFacade().getTaggedValues();
1081     }
1082 
1083     // from org.andromda.metafacades.uml.ModelElementFacade
1084     public java.util.Collection getTargetDependencies()
1085     {
1086         return this.getSuperClassifierFacade().getTargetDependencies();
1087     }
1088 
1089     // from org.andromda.metafacades.uml.ModelElementFacade
1090     public java.lang.Object getTemplateParameter(java.lang.String parameterName)
1091     {
1092         return this.getSuperClassifierFacade().getTemplateParameter(parameterName);
1093     }
1094 
1095     // from org.andromda.metafacades.uml.ModelElementFacade
1096     public java.util.Collection getTemplateParameters()
1097     {
1098         return this.getSuperClassifierFacade().getTemplateParameters();
1099     }
1100 
1101     // from org.andromda.metafacades.uml.ModelElementFacade
1102     public java.lang.String getVisibility()
1103     {
1104         return this.getSuperClassifierFacade().getVisibility();
1105     }
1106 
1107     // from org.andromda.metafacades.uml.ModelElementFacade
1108     public boolean hasExactStereotype(java.lang.String stereotypeName)
1109     {
1110         return this.getSuperClassifierFacade().hasExactStereotype(stereotypeName);
1111     }
1112 
1113     // from org.andromda.metafacades.uml.ModelElementFacade
1114     public boolean hasStereotype(java.lang.String stereotypeName)
1115     {
1116         return this.getSuperClassifierFacade().hasStereotype(stereotypeName);
1117     }
1118 
1119     // from org.andromda.metafacades.uml.ModelElementFacade
1120     public boolean isBindingDependenciesPresent()
1121     {
1122         return this.getSuperClassifierFacade().isBindingDependenciesPresent();
1123     }
1124 
1125     // from org.andromda.metafacades.uml.ModelElementFacade
1126     public boolean isConstraintsPresent()
1127     {
1128         return this.getSuperClassifierFacade().isConstraintsPresent();
1129     }
1130 
1131     // from org.andromda.metafacades.uml.ModelElementFacade
1132     public boolean isTemplateParametersPresent()
1133     {
1134         return this.getSuperClassifierFacade().isTemplateParametersPresent();
1135     }
1136 
1137     // from org.andromda.metafacades.uml.ModelElementFacade
1138     public java.lang.String translateConstraint(java.lang.String name, java.lang.String translation)
1139     {
1140         return this.getSuperClassifierFacade().translateConstraint(name, translation);
1141     }
1142 
1143     // from org.andromda.metafacades.uml.ModelElementFacade
1144     public java.lang.String[] translateConstraints(java.lang.String translation)
1145     {
1146         return this.getSuperClassifierFacade().translateConstraints(translation);
1147     }
1148 
1149     // from org.andromda.metafacades.uml.ModelElementFacade
1150     public java.lang.String[] translateConstraints(java.lang.String kind, java.lang.String translation)
1151     {
1152         return this.getSuperClassifierFacade().translateConstraints(kind, translation);
1153     }
1154 
1155     /***
1156      * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
1157      */
1158     public void initialize()
1159     {
1160         this.getSuperClassifierFacade().initialize();
1161     }
1162 
1163     /***
1164      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
1165      */
1166     public Object getValidationOwner()
1167     {
1168         Object owner = this.getSuperClassifierFacade().getValidationOwner();
1169         return owner;
1170     }
1171 
1172     /***
1173      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
1174      */
1175     public String getValidationName()
1176     {
1177         String name = this.getSuperClassifierFacade().getValidationName();
1178         return name;
1179     }
1180 
1181     /***
1182      * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(java.util.Collection)
1183      */
1184     public void validateInvariants(java.util.Collection validationMessages)
1185     {
1186         this.getSuperClassifierFacade().validateInvariants(validationMessages);
1187         {
1188             final java.lang.Object contextElement = this.THIS(); boolean constraintValid = org.andromda.translation.ocl.validation.OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(org.andromda.translation.ocl.validation.OCLCollections.notEmpty(org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"generalization")))).booleanValue()?org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"generalization") instanceof org.andromda.cartridges.meta.metafacades.Metafacade:true)); 
1189             if (!constraintValid)
1190                 validationMessages.add(
1191                     new org.andromda.core.metafacade.ModelValidationMessage(
1192                         (org.andromda.core.metafacade.MetafacadeBase)contextElement ,
1193                         "org::andromda::cartridges::meta::metafacades::Metafacade::a metafacade can only generalize another metafacade",
1194                         "A metafacade can only generalize another metafacade."));
1195         }
1196         {
1197             final java.lang.Object contextElement = this.THIS(); boolean constraintValid = org.andromda.translation.ocl.validation.OCLResultEnsurer.ensure((Boolean.valueOf(String.valueOf(org.andromda.translation.ocl.validation.OCLCollections.notEmpty(org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"specializations")))).booleanValue()?org.andromda.translation.ocl.validation.OCLCollections.forAll(org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"specializations"),new org.apache.commons.collections.Predicate(){public boolean evaluate(java.lang.Object object){return Boolean.valueOf(String.valueOf(object instanceof org.andromda.cartridges.meta.metafacades.Metafacade)).booleanValue();}}):true)); 
1198             if (!constraintValid)
1199                 validationMessages.add(
1200                     new org.andromda.core.metafacade.ModelValidationMessage(
1201                         (org.andromda.core.metafacade.MetafacadeBase)contextElement ,
1202                         "org::andromda::cartridges::meta::metafacades::Metafacade::a metafacade can only specialize another metafacade",
1203                         "A metafacade can only specialize another metafacade."));
1204         }
1205         {
1206             final java.lang.Object contextElement = this.THIS(); boolean constraintValid = org.andromda.translation.ocl.validation.OCLResultEnsurer.ensure(org.andromda.translation.ocl.validation.OCLCollections.notEmpty(org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"generalizations"))||org.andromda.translation.ocl.validation.OCLCollections.notEmpty(org.andromda.translation.ocl.validation.OCLIntrospector.invoke(contextElement,"sourceDependencies"))); 
1207             if (!constraintValid)
1208                 validationMessages.add(
1209                     new org.andromda.core.metafacade.ModelValidationMessage(
1210                         (org.andromda.core.metafacade.MetafacadeBase)contextElement ,
1211                         "org::andromda::cartridges::meta::metafacades::Metafacade::a metafacade must either extend an existing metafacade or have a directy dependency to a metaclass",
1212                         "A metafacade must at the least, either extend an existing metafacade or have a directy dependency to a metaclass."));
1213         }
1214     }
1215     
1216     /***
1217      * The property that stores the name of the metafacade.
1218      */
1219     private static final String NAME_PROPERTY = "name";
1220     
1221     /***
1222      * @see java.lang.Object#toString()
1223      */
1224     public String toString()
1225     {
1226         final StringBuffer toString = new StringBuffer(this.getClass().getName());
1227         toString.append("[");
1228         try
1229         {
1230             toString.append(org.andromda.core.common.Introspector.instance().getProperty(this, NAME_PROPERTY));
1231         }
1232         catch (final Throwable throwable)
1233         {
1234             // - just ignore when the metafacade doesn't have a name property
1235         }
1236         toString.append("]");
1237         return toString.toString();
1238     }
1239 }