View Javadoc

1   //
2   // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
3   //
4   package org.andromda.cartridges.bpm4struts.metafacades;
5   
6   /***
7    * MetafacadeLogic for org.andromda.cartridges.bpm4struts.metafacades.StrutsActivityGraph
8    *
9    * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsActivityGraph
10   */
11  public abstract class StrutsActivityGraphLogic
12      extends org.andromda.core.metafacade.MetafacadeBase
13      implements org.andromda.cartridges.bpm4struts.metafacades.StrutsActivityGraph
14  {
15  
16      protected Object metaObject;
17  
18      public StrutsActivityGraphLogic(Object metaObject, String context)
19      {
20          super(metaObject, getContext(context));
21          this.superFrontEndActivityGraph =
22             (org.andromda.metafacades.uml.FrontEndActivityGraph)
23              org.andromda.core.metafacade.MetafacadeFactory.getInstance().createFacadeImpl(
24                      "org.andromda.metafacades.uml.FrontEndActivityGraph",
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.bpm4struts.metafacades.StrutsActivityGraph";
38          }
39          return context;
40      }
41  
42      private org.andromda.metafacades.uml.FrontEndActivityGraph superFrontEndActivityGraph;
43      private boolean superFrontEndActivityGraphInitialized = false;
44  
45      /***
46       * Gets the org.andromda.metafacades.uml.FrontEndActivityGraph parent instance.
47       */
48      private org.andromda.metafacades.uml.FrontEndActivityGraph getSuperFrontEndActivityGraph()
49      {
50          if (!this.superFrontEndActivityGraphInitialized)
51          {
52              ((org.andromda.core.metafacade.MetafacadeBase)superFrontEndActivityGraph).setMetafacadeContext(this.getMetafacadeContext());
53              this.superFrontEndActivityGraphInitialized = true;
54          }
55          return superFrontEndActivityGraph;
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.superFrontEndActivityGraphInitialized)
68              {
69                  ((org.andromda.core.metafacade.MetafacadeBase)superFrontEndActivityGraph).resetMetafacadeContext(context);
70              }
71          }
72      }
73  
74      /***
75       * @see org.andromda.cartridges.bpm4struts.metafacades.StrutsActivityGraph
76       */
77      public boolean isStrutsActivityGraphMetaType()
78      {
79          return true;
80      }
81      
82      // ------------- associations ------------------
83  
84      private void handleGetFirstAction2rPreCondition()
85      {
86      }
87  
88      private void handleGetFirstAction2rPostCondition()
89      {
90      }
91  
92      private org.andromda.cartridges.bpm4struts.metafacades.StrutsAction __getFirstAction2r;
93      private boolean __getFirstAction2rSet = false;
94  
95      public final org.andromda.cartridges.bpm4struts.metafacades.StrutsAction getFirstAction()
96      {
97          org.andromda.cartridges.bpm4struts.metafacades.StrutsAction getFirstAction2r = this.__getFirstAction2r;
98          if (!this.__getFirstAction2rSet)
99          {
100             handleGetFirstAction2rPreCondition();
101             Object result = this.shieldedElement(handleGetFirstAction());
102             try
103             {
104                 getFirstAction2r = (org.andromda.cartridges.bpm4struts.metafacades.StrutsAction)result;
105             }
106             catch (ClassCastException ex)
107             {
108                 // ignore since the metafacade shouldn't
109                 // be set if its not of the correct type
110             }
111             handleGetFirstAction2rPostCondition();
112             this.__getFirstAction2r = getFirstAction2r;
113             if (isMetafacadePropertyCachingEnabled())
114             {
115                 this.__getFirstAction2rSet = true;
116             }
117         }
118         return getFirstAction2r;
119     }
120 
121     protected abstract java.lang.Object handleGetFirstAction();
122 
123     /***
124      * @see org.andromda.metafacades.uml.FrontEndActivityGraph
125      */
126     public boolean isFrontEndActivityGraphMetaType()
127     {
128         return true;
129     }
130     
131     /***
132      * @see org.andromda.metafacades.uml.ActivityGraphFacade
133      */
134     public boolean isActivityGraphFacadeMetaType()
135     {
136         return true;
137     }
138     
139     /***
140      * @see org.andromda.metafacades.uml.StateMachineFacade
141      */
142     public boolean isStateMachineFacadeMetaType()
143     {
144         return true;
145     }
146     
147     /***
148      * @see org.andromda.metafacades.uml.ModelElementFacade
149      */
150     public boolean isModelElementFacadeMetaType()
151     {
152         return true;
153     }
154     
155     // ----------- delegates to org.andromda.metafacades.uml.FrontEndActivityGraph ------------
156     // from org.andromda.metafacades.uml.ActivityGraphFacade
157     public java.util.Collection getActionStates()
158     {
159         return this.getSuperFrontEndActivityGraph().getActionStates();
160     }
161 
162     // from org.andromda.metafacades.uml.ActivityGraphFacade
163     public java.util.Collection getObjectFlowStates()
164     {
165         return this.getSuperFrontEndActivityGraph().getObjectFlowStates();
166     }
167 
168     // from org.andromda.metafacades.uml.ActivityGraphFacade
169     public java.util.Collection getPartitions()
170     {
171         return this.getSuperFrontEndActivityGraph().getPartitions();
172     }
173 
174     // from org.andromda.metafacades.uml.ActivityGraphFacade
175     public org.andromda.metafacades.uml.UseCaseFacade getUseCase()
176     {
177         return this.getSuperFrontEndActivityGraph().getUseCase();
178     }
179 
180     // from org.andromda.metafacades.uml.FrontEndActivityGraph
181     public org.andromda.metafacades.uml.FrontEndController getController()
182     {
183         return this.getSuperFrontEndActivityGraph().getController();
184     }
185 
186     // from org.andromda.metafacades.uml.FrontEndActivityGraph
187     public org.andromda.metafacades.uml.FrontEndAction getInitialAction()
188     {
189         return this.getSuperFrontEndActivityGraph().getInitialAction();
190     }
191 
192     // from org.andromda.metafacades.uml.FrontEndActivityGraph
193     public boolean isContainedInFrontEndUseCase()
194     {
195         return this.getSuperFrontEndActivityGraph().isContainedInFrontEndUseCase();
196     }
197 
198     // from org.andromda.metafacades.uml.ModelElementFacade
199     public void copyTaggedValues(org.andromda.metafacades.uml.ModelElementFacade element)
200     {
201         this.getSuperFrontEndActivityGraph().copyTaggedValues(element);
202     }
203 
204     // from org.andromda.metafacades.uml.ModelElementFacade
205     public java.lang.Object findTaggedValue(java.lang.String tagName)
206     {
207         return this.getSuperFrontEndActivityGraph().findTaggedValue(tagName);
208     }
209 
210     // from org.andromda.metafacades.uml.ModelElementFacade
211     public java.util.Collection findTaggedValues(java.lang.String tagName)
212     {
213         return this.getSuperFrontEndActivityGraph().findTaggedValues(tagName);
214     }
215 
216     // from org.andromda.metafacades.uml.ModelElementFacade
217     public java.util.Collection getConstraints()
218     {
219         return this.getSuperFrontEndActivityGraph().getConstraints();
220     }
221 
222     // from org.andromda.metafacades.uml.ModelElementFacade
223     public java.util.Collection getConstraints(java.lang.String kind)
224     {
225         return this.getSuperFrontEndActivityGraph().getConstraints(kind);
226     }
227 
228     // from org.andromda.metafacades.uml.ModelElementFacade
229     public java.lang.String getDocumentation(java.lang.String indent, int lineLength)
230     {
231         return this.getSuperFrontEndActivityGraph().getDocumentation(indent, lineLength);
232     }
233 
234     // from org.andromda.metafacades.uml.ModelElementFacade
235     public java.lang.String getDocumentation(java.lang.String indent, int lineLength, boolean htmlStyle)
236     {
237         return this.getSuperFrontEndActivityGraph().getDocumentation(indent, lineLength, htmlStyle);
238     }
239 
240     // from org.andromda.metafacades.uml.ModelElementFacade
241     public java.lang.String getDocumentation(java.lang.String indent)
242     {
243         return this.getSuperFrontEndActivityGraph().getDocumentation(indent);
244     }
245 
246     // from org.andromda.metafacades.uml.ModelElementFacade
247     public java.lang.String getFullyQualifiedName(boolean modelName)
248     {
249         return this.getSuperFrontEndActivityGraph().getFullyQualifiedName(modelName);
250     }
251 
252     // from org.andromda.metafacades.uml.ModelElementFacade
253     public java.lang.String getFullyQualifiedName()
254     {
255         return this.getSuperFrontEndActivityGraph().getFullyQualifiedName();
256     }
257 
258     // from org.andromda.metafacades.uml.ModelElementFacade
259     public java.lang.String getFullyQualifiedNamePath()
260     {
261         return this.getSuperFrontEndActivityGraph().getFullyQualifiedNamePath();
262     }
263 
264     // from org.andromda.metafacades.uml.ModelElementFacade
265     public java.lang.String getId()
266     {
267         return this.getSuperFrontEndActivityGraph().getId();
268     }
269 
270     // from org.andromda.metafacades.uml.ModelElementFacade
271     public org.andromda.metafacades.uml.TypeMappings getLanguageMappings()
272     {
273         return this.getSuperFrontEndActivityGraph().getLanguageMappings();
274     }
275 
276     // from org.andromda.metafacades.uml.ModelElementFacade
277     public org.andromda.metafacades.uml.ModelFacade getModel()
278     {
279         return this.getSuperFrontEndActivityGraph().getModel();
280     }
281 
282     // from org.andromda.metafacades.uml.ModelElementFacade
283     public java.lang.String getName()
284     {
285         return this.getSuperFrontEndActivityGraph().getName();
286     }
287 
288     // from org.andromda.metafacades.uml.ModelElementFacade
289     public org.andromda.metafacades.uml.ModelElementFacade getPackage()
290     {
291         return this.getSuperFrontEndActivityGraph().getPackage();
292     }
293 
294     // from org.andromda.metafacades.uml.ModelElementFacade
295     public java.lang.String getPackageName(boolean modelName)
296     {
297         return this.getSuperFrontEndActivityGraph().getPackageName(modelName);
298     }
299 
300     // from org.andromda.metafacades.uml.ModelElementFacade
301     public java.lang.String getPackageName()
302     {
303         return this.getSuperFrontEndActivityGraph().getPackageName();
304     }
305 
306     // from org.andromda.metafacades.uml.ModelElementFacade
307     public java.lang.String getPackagePath()
308     {
309         return this.getSuperFrontEndActivityGraph().getPackagePath();
310     }
311 
312     // from org.andromda.metafacades.uml.ModelElementFacade
313     public org.andromda.metafacades.uml.PackageFacade getRootPackage()
314     {
315         return this.getSuperFrontEndActivityGraph().getRootPackage();
316     }
317 
318     // from org.andromda.metafacades.uml.ModelElementFacade
319     public java.util.Collection getSourceDependencies()
320     {
321         return this.getSuperFrontEndActivityGraph().getSourceDependencies();
322     }
323 
324     // from org.andromda.metafacades.uml.ModelElementFacade
325     public org.andromda.metafacades.uml.StateMachineFacade getStateMachineContext()
326     {
327         return this.getSuperFrontEndActivityGraph().getStateMachineContext();
328     }
329 
330     // from org.andromda.metafacades.uml.ModelElementFacade
331     public java.util.Collection getStereotypeNames()
332     {
333         return this.getSuperFrontEndActivityGraph().getStereotypeNames();
334     }
335 
336     // from org.andromda.metafacades.uml.ModelElementFacade
337     public java.util.Collection getStereotypes()
338     {
339         return this.getSuperFrontEndActivityGraph().getStereotypes();
340     }
341 
342     // from org.andromda.metafacades.uml.ModelElementFacade
343     public java.util.Collection getTaggedValues()
344     {
345         return this.getSuperFrontEndActivityGraph().getTaggedValues();
346     }
347 
348     // from org.andromda.metafacades.uml.ModelElementFacade
349     public java.util.Collection getTargetDependencies()
350     {
351         return this.getSuperFrontEndActivityGraph().getTargetDependencies();
352     }
353 
354     // from org.andromda.metafacades.uml.ModelElementFacade
355     public java.lang.Object getTemplateParameter(java.lang.String parameterName)
356     {
357         return this.getSuperFrontEndActivityGraph().getTemplateParameter(parameterName);
358     }
359 
360     // from org.andromda.metafacades.uml.ModelElementFacade
361     public java.util.Collection getTemplateParameters()
362     {
363         return this.getSuperFrontEndActivityGraph().getTemplateParameters();
364     }
365 
366     // from org.andromda.metafacades.uml.ModelElementFacade
367     public java.lang.String getVisibility()
368     {
369         return this.getSuperFrontEndActivityGraph().getVisibility();
370     }
371 
372     // from org.andromda.metafacades.uml.ModelElementFacade
373     public boolean hasExactStereotype(java.lang.String stereotypeName)
374     {
375         return this.getSuperFrontEndActivityGraph().hasExactStereotype(stereotypeName);
376     }
377 
378     // from org.andromda.metafacades.uml.ModelElementFacade
379     public boolean hasStereotype(java.lang.String stereotypeName)
380     {
381         return this.getSuperFrontEndActivityGraph().hasStereotype(stereotypeName);
382     }
383 
384     // from org.andromda.metafacades.uml.ModelElementFacade
385     public boolean isBindingDependenciesPresent()
386     {
387         return this.getSuperFrontEndActivityGraph().isBindingDependenciesPresent();
388     }
389 
390     // from org.andromda.metafacades.uml.ModelElementFacade
391     public boolean isConstraintsPresent()
392     {
393         return this.getSuperFrontEndActivityGraph().isConstraintsPresent();
394     }
395 
396     // from org.andromda.metafacades.uml.ModelElementFacade
397     public boolean isTemplateParametersPresent()
398     {
399         return this.getSuperFrontEndActivityGraph().isTemplateParametersPresent();
400     }
401 
402     // from org.andromda.metafacades.uml.ModelElementFacade
403     public java.lang.String translateConstraint(java.lang.String name, java.lang.String translation)
404     {
405         return this.getSuperFrontEndActivityGraph().translateConstraint(name, translation);
406     }
407 
408     // from org.andromda.metafacades.uml.ModelElementFacade
409     public java.lang.String[] translateConstraints(java.lang.String translation)
410     {
411         return this.getSuperFrontEndActivityGraph().translateConstraints(translation);
412     }
413 
414     // from org.andromda.metafacades.uml.ModelElementFacade
415     public java.lang.String[] translateConstraints(java.lang.String kind, java.lang.String translation)
416     {
417         return this.getSuperFrontEndActivityGraph().translateConstraints(kind, translation);
418     }
419 
420     // from org.andromda.metafacades.uml.StateMachineFacade
421     public org.andromda.metafacades.uml.ModelElementFacade getContextElement()
422     {
423         return this.getSuperFrontEndActivityGraph().getContextElement();
424     }
425 
426     // from org.andromda.metafacades.uml.StateMachineFacade
427     public java.util.Collection getFinalStates()
428     {
429         return this.getSuperFrontEndActivityGraph().getFinalStates();
430     }
431 
432     // from org.andromda.metafacades.uml.StateMachineFacade
433     public org.andromda.metafacades.uml.PseudostateFacade getInitialState()
434     {
435         return this.getSuperFrontEndActivityGraph().getInitialState();
436     }
437 
438     // from org.andromda.metafacades.uml.StateMachineFacade
439     public java.util.Collection getInitialStates()
440     {
441         return this.getSuperFrontEndActivityGraph().getInitialStates();
442     }
443 
444     // from org.andromda.metafacades.uml.StateMachineFacade
445     public org.andromda.metafacades.uml.TransitionFacade getInitialTransition()
446     {
447         return this.getSuperFrontEndActivityGraph().getInitialTransition();
448     }
449 
450     // from org.andromda.metafacades.uml.StateMachineFacade
451     public java.util.Collection getPseudostates()
452     {
453         return this.getSuperFrontEndActivityGraph().getPseudostates();
454     }
455 
456     // from org.andromda.metafacades.uml.StateMachineFacade
457     public java.util.Collection getStates()
458     {
459         return this.getSuperFrontEndActivityGraph().getStates();
460     }
461 
462     // from org.andromda.metafacades.uml.StateMachineFacade
463     public java.util.Collection getTransitions()
464     {
465         return this.getSuperFrontEndActivityGraph().getTransitions();
466     }
467 
468     /***
469      * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
470      */
471     public void initialize()
472     {
473         this.getSuperFrontEndActivityGraph().initialize();
474     }
475 
476     /***
477      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
478      */
479     public Object getValidationOwner()
480     {
481         Object owner = this.getSuperFrontEndActivityGraph().getValidationOwner();
482         return owner;
483     }
484 
485     /***
486      * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
487      */
488     public String getValidationName()
489     {
490         String name = this.getSuperFrontEndActivityGraph().getValidationName();
491         return name;
492     }
493 
494     /***
495      * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(java.util.Collection)
496      */
497     public void validateInvariants(java.util.Collection validationMessages)
498     {
499         this.getSuperFrontEndActivityGraph().validateInvariants(validationMessages);
500         {
501             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,"firstAction"))); 
502             if (!constraintValid)
503                 validationMessages.add(
504                     new org.andromda.core.metafacade.ModelValidationMessage(
505                         (org.andromda.core.metafacade.MetafacadeBase)contextElement ,
506                         "org::andromda::cartridges::bpm4struts::metafacades::StrutsActivityGraph::graph must have an action modeled on it's initial state",
507                         "Each activity graph must have an action transition exiting the initial state, this is the minimum required."));
508         }
509         {
510             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,"controller"))); 
511             if (!constraintValid)
512                 validationMessages.add(
513                     new org.andromda.core.metafacade.ModelValidationMessage(
514                         (org.andromda.core.metafacade.MetafacadeBase)contextElement ,
515                         "org::andromda::cartridges::bpm4struts::metafacades::StrutsActivityGraph::front end graph must have a controller context",
516                         "An activity graph must have a controller class context to which (optionally) operations can be deferred. Make sure this graph's use-case has the FrontEndUseCase stereotype."));
517         }
518     }
519     
520     /***
521      * The property that stores the name of the metafacade.
522      */
523     private static final String NAME_PROPERTY = "name";
524     
525     /***
526      * @see java.lang.Object#toString()
527      */
528     public String toString()
529     {
530         final StringBuffer toString = new StringBuffer(this.getClass().getName());
531         toString.append("[");
532         try
533         {
534             toString.append(org.andromda.core.common.Introspector.instance().getProperty(this, NAME_PROPERTY));
535         }
536         catch (final Throwable throwable)
537         {
538             // - just ignore when the metafacade doesn't have a name property
539         }
540         toString.append("]");
541         return toString.toString();
542     }
543 }