1
2
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)
64 {
65 context = getContext(context);
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
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
109
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
156
157 public java.util.Collection getActionStates()
158 {
159 return this.getSuperFrontEndActivityGraph().getActionStates();
160 }
161
162
163 public java.util.Collection getObjectFlowStates()
164 {
165 return this.getSuperFrontEndActivityGraph().getObjectFlowStates();
166 }
167
168
169 public java.util.Collection getPartitions()
170 {
171 return this.getSuperFrontEndActivityGraph().getPartitions();
172 }
173
174
175 public org.andromda.metafacades.uml.UseCaseFacade getUseCase()
176 {
177 return this.getSuperFrontEndActivityGraph().getUseCase();
178 }
179
180
181 public org.andromda.metafacades.uml.FrontEndController getController()
182 {
183 return this.getSuperFrontEndActivityGraph().getController();
184 }
185
186
187 public org.andromda.metafacades.uml.FrontEndAction getInitialAction()
188 {
189 return this.getSuperFrontEndActivityGraph().getInitialAction();
190 }
191
192
193 public boolean isContainedInFrontEndUseCase()
194 {
195 return this.getSuperFrontEndActivityGraph().isContainedInFrontEndUseCase();
196 }
197
198
199 public void copyTaggedValues(org.andromda.metafacades.uml.ModelElementFacade element)
200 {
201 this.getSuperFrontEndActivityGraph().copyTaggedValues(element);
202 }
203
204
205 public java.lang.Object findTaggedValue(java.lang.String tagName)
206 {
207 return this.getSuperFrontEndActivityGraph().findTaggedValue(tagName);
208 }
209
210
211 public java.util.Collection findTaggedValues(java.lang.String tagName)
212 {
213 return this.getSuperFrontEndActivityGraph().findTaggedValues(tagName);
214 }
215
216
217 public java.util.Collection getConstraints()
218 {
219 return this.getSuperFrontEndActivityGraph().getConstraints();
220 }
221
222
223 public java.util.Collection getConstraints(java.lang.String kind)
224 {
225 return this.getSuperFrontEndActivityGraph().getConstraints(kind);
226 }
227
228
229 public java.lang.String getDocumentation(java.lang.String indent, int lineLength)
230 {
231 return this.getSuperFrontEndActivityGraph().getDocumentation(indent, lineLength);
232 }
233
234
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
241 public java.lang.String getDocumentation(java.lang.String indent)
242 {
243 return this.getSuperFrontEndActivityGraph().getDocumentation(indent);
244 }
245
246
247 public java.lang.String getFullyQualifiedName(boolean modelName)
248 {
249 return this.getSuperFrontEndActivityGraph().getFullyQualifiedName(modelName);
250 }
251
252
253 public java.lang.String getFullyQualifiedName()
254 {
255 return this.getSuperFrontEndActivityGraph().getFullyQualifiedName();
256 }
257
258
259 public java.lang.String getFullyQualifiedNamePath()
260 {
261 return this.getSuperFrontEndActivityGraph().getFullyQualifiedNamePath();
262 }
263
264
265 public java.lang.String getId()
266 {
267 return this.getSuperFrontEndActivityGraph().getId();
268 }
269
270
271 public org.andromda.metafacades.uml.TypeMappings getLanguageMappings()
272 {
273 return this.getSuperFrontEndActivityGraph().getLanguageMappings();
274 }
275
276
277 public org.andromda.metafacades.uml.ModelFacade getModel()
278 {
279 return this.getSuperFrontEndActivityGraph().getModel();
280 }
281
282
283 public java.lang.String getName()
284 {
285 return this.getSuperFrontEndActivityGraph().getName();
286 }
287
288
289 public org.andromda.metafacades.uml.ModelElementFacade getPackage()
290 {
291 return this.getSuperFrontEndActivityGraph().getPackage();
292 }
293
294
295 public java.lang.String getPackageName(boolean modelName)
296 {
297 return this.getSuperFrontEndActivityGraph().getPackageName(modelName);
298 }
299
300
301 public java.lang.String getPackageName()
302 {
303 return this.getSuperFrontEndActivityGraph().getPackageName();
304 }
305
306
307 public java.lang.String getPackagePath()
308 {
309 return this.getSuperFrontEndActivityGraph().getPackagePath();
310 }
311
312
313 public org.andromda.metafacades.uml.PackageFacade getRootPackage()
314 {
315 return this.getSuperFrontEndActivityGraph().getRootPackage();
316 }
317
318
319 public java.util.Collection getSourceDependencies()
320 {
321 return this.getSuperFrontEndActivityGraph().getSourceDependencies();
322 }
323
324
325 public org.andromda.metafacades.uml.StateMachineFacade getStateMachineContext()
326 {
327 return this.getSuperFrontEndActivityGraph().getStateMachineContext();
328 }
329
330
331 public java.util.Collection getStereotypeNames()
332 {
333 return this.getSuperFrontEndActivityGraph().getStereotypeNames();
334 }
335
336
337 public java.util.Collection getStereotypes()
338 {
339 return this.getSuperFrontEndActivityGraph().getStereotypes();
340 }
341
342
343 public java.util.Collection getTaggedValues()
344 {
345 return this.getSuperFrontEndActivityGraph().getTaggedValues();
346 }
347
348
349 public java.util.Collection getTargetDependencies()
350 {
351 return this.getSuperFrontEndActivityGraph().getTargetDependencies();
352 }
353
354
355 public java.lang.Object getTemplateParameter(java.lang.String parameterName)
356 {
357 return this.getSuperFrontEndActivityGraph().getTemplateParameter(parameterName);
358 }
359
360
361 public java.util.Collection getTemplateParameters()
362 {
363 return this.getSuperFrontEndActivityGraph().getTemplateParameters();
364 }
365
366
367 public java.lang.String getVisibility()
368 {
369 return this.getSuperFrontEndActivityGraph().getVisibility();
370 }
371
372
373 public boolean hasExactStereotype(java.lang.String stereotypeName)
374 {
375 return this.getSuperFrontEndActivityGraph().hasExactStereotype(stereotypeName);
376 }
377
378
379 public boolean hasStereotype(java.lang.String stereotypeName)
380 {
381 return this.getSuperFrontEndActivityGraph().hasStereotype(stereotypeName);
382 }
383
384
385 public boolean isBindingDependenciesPresent()
386 {
387 return this.getSuperFrontEndActivityGraph().isBindingDependenciesPresent();
388 }
389
390
391 public boolean isConstraintsPresent()
392 {
393 return this.getSuperFrontEndActivityGraph().isConstraintsPresent();
394 }
395
396
397 public boolean isTemplateParametersPresent()
398 {
399 return this.getSuperFrontEndActivityGraph().isTemplateParametersPresent();
400 }
401
402
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
409 public java.lang.String[] translateConstraints(java.lang.String translation)
410 {
411 return this.getSuperFrontEndActivityGraph().translateConstraints(translation);
412 }
413
414
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
421 public org.andromda.metafacades.uml.ModelElementFacade getContextElement()
422 {
423 return this.getSuperFrontEndActivityGraph().getContextElement();
424 }
425
426
427 public java.util.Collection getFinalStates()
428 {
429 return this.getSuperFrontEndActivityGraph().getFinalStates();
430 }
431
432
433 public org.andromda.metafacades.uml.PseudostateFacade getInitialState()
434 {
435 return this.getSuperFrontEndActivityGraph().getInitialState();
436 }
437
438
439 public java.util.Collection getInitialStates()
440 {
441 return this.getSuperFrontEndActivityGraph().getInitialStates();
442 }
443
444
445 public org.andromda.metafacades.uml.TransitionFacade getInitialTransition()
446 {
447 return this.getSuperFrontEndActivityGraph().getInitialTransition();
448 }
449
450
451 public java.util.Collection getPseudostates()
452 {
453 return this.getSuperFrontEndActivityGraph().getPseudostates();
454 }
455
456
457 public java.util.Collection getStates()
458 {
459 return this.getSuperFrontEndActivityGraph().getStates();
460 }
461
462
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
539 }
540 toString.append("]");
541 return toString.toString();
542 }
543 }