1 // license-header java merge-point
2 //
3 // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4 //
5 package org.andromda.cartridges.jbpm.metafacades;
6
7 import java.util.Collection;
8 import org.andromda.core.common.Introspector;
9 import org.andromda.core.metafacade.MetafacadeBase;
10 import org.andromda.core.metafacade.MetafacadeFactory;
11 import org.andromda.core.metafacade.ModelValidationMessage;
12 import org.andromda.metafacades.uml.ActionFacade;
13 import org.andromda.metafacades.uml.ConstraintFacade;
14 import org.andromda.metafacades.uml.DependencyFacade;
15 import org.andromda.metafacades.uml.EventFacade;
16 import org.andromda.metafacades.uml.GuardFacade;
17 import org.andromda.metafacades.uml.ModelElementFacade;
18 import org.andromda.metafacades.uml.ModelFacade;
19 import org.andromda.metafacades.uml.PackageFacade;
20 import org.andromda.metafacades.uml.StateMachineFacade;
21 import org.andromda.metafacades.uml.StateVertexFacade;
22 import org.andromda.metafacades.uml.StereotypeFacade;
23 import org.andromda.metafacades.uml.TaggedValueFacade;
24 import org.andromda.metafacades.uml.TemplateParameterFacade;
25 import org.andromda.metafacades.uml.TransitionFacade;
26 import org.andromda.metafacades.uml.TypeMappings;
27
28 /**
29 * TODO: Model Documentation for org.andromda.cartridges.jbpm.metafacades.JBpmTransition
30 * MetafacadeLogic for JBpmTransition
31 *
32 * @see JBpmTransition
33 */
34 public abstract class JBpmTransitionLogic
35 extends MetafacadeBase
36 implements JBpmTransition
37 {
38 /**
39 * The underlying UML object
40 * @see Object
41 */
42 protected Object metaObject;
43
44 /** Create Metafacade implementation instance using the MetafacadeFactory from the context
45 * @param metaObjectIn
46 * @param context
47 */
48 protected JBpmTransitionLogic(Object metaObjectIn, String context)
49 {
50 super(metaObjectIn, getContext(context));
51 this.superTransitionFacade =
52 (TransitionFacade)
53 MetafacadeFactory.getInstance().createFacadeImpl(
54 "org.andromda.metafacades.uml.TransitionFacade",
55 metaObjectIn,
56 getContext(context));
57 this.metaObject = metaObjectIn;
58 }
59
60 /**
61 * Gets the context for this metafacade logic instance.
62 * @param context String. Set to JBpmTransition if null
63 * @return context String
64 */
65 private static String getContext(String context)
66 {
67 if (context == null)
68 {
69 context = "org.andromda.cartridges.jbpm.metafacades.JBpmTransition";
70 }
71 return context;
72 }
73
74 private TransitionFacade superTransitionFacade;
75 private boolean superTransitionFacadeInitialized = false;
76
77 /**
78 * Gets the TransitionFacade parent instance.
79 * @return this.superTransitionFacade TransitionFacade
80 */
81 private TransitionFacade getSuperTransitionFacade()
82 {
83 if (!this.superTransitionFacadeInitialized)
84 {
85 ((MetafacadeBase)this.superTransitionFacade).setMetafacadeContext(this.getMetafacadeContext());
86 this.superTransitionFacadeInitialized = true;
87 }
88 return this.superTransitionFacade;
89 }
90
91 /** Reset context only for non-root metafacades
92 * @param context
93 * @see org.andromda.core.metafacade.MetafacadeBase#resetMetafacadeContext(String context)
94 */
95 @Override
96 public void resetMetafacadeContext(String context)
97 {
98 if (!this.contextRoot) // reset context only for non-root metafacades
99 {
100 context = getContext(context); // to have same value as in original constructor call
101 setMetafacadeContext (context);
102 if (this.superTransitionFacadeInitialized)
103 {
104 ((MetafacadeBase)this.superTransitionFacade).resetMetafacadeContext(context);
105 }
106 }
107 }
108
109 /**
110 * @return boolean true always
111 * @see JBpmTransition
112 */
113 public boolean isJBpmTransitionMetaType()
114 {
115 return true;
116 }
117
118 // --------------- attributes ---------------------
119
120 /**
121 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#getCondition()
122 * @return String
123 */
124 protected abstract String handleGetCondition();
125
126 private String __condition1a;
127 private boolean __condition1aSet = false;
128
129 /**
130 * TODO: Model Documentation for
131 * org.andromda.cartridges.jbpm.metafacades.JBpmTransition.condition
132 * @return (String)handleGetCondition()
133 */
134 public final String getCondition()
135 {
136 String condition1a = this.__condition1a;
137 if (!this.__condition1aSet)
138 {
139 // condition has no pre constraints
140 condition1a = handleGetCondition();
141 // condition has no post constraints
142 this.__condition1a = condition1a;
143 if (isMetafacadePropertyCachingEnabled())
144 {
145 this.__condition1aSet = true;
146 }
147 }
148 return condition1a;
149 }
150
151 /**
152 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#isTaskNode()
153 * @return boolean
154 */
155 protected abstract boolean handleIsTaskNode();
156
157 private boolean __taskNode2a;
158 private boolean __taskNode2aSet = false;
159
160 /**
161 * TODO: Model Documentation for
162 * org.andromda.cartridges.jbpm.metafacades.JBpmTransition.taskNode
163 * @return (boolean)handleIsTaskNode()
164 */
165 public final boolean isTaskNode()
166 {
167 boolean taskNode2a = this.__taskNode2a;
168 if (!this.__taskNode2aSet)
169 {
170 // taskNode has no pre constraints
171 taskNode2a = handleIsTaskNode();
172 // taskNode has no post constraints
173 this.__taskNode2a = taskNode2a;
174 if (isMetafacadePropertyCachingEnabled())
175 {
176 this.__taskNode2aSet = true;
177 }
178 }
179 return taskNode2a;
180 }
181
182 /**
183 * @see org.andromda.cartridges.jbpm.metafacades.JBpmTransition#isContainedInBusinessProcess()
184 * @return boolean
185 */
186 protected abstract boolean handleIsContainedInBusinessProcess();
187
188 private boolean __containedInBusinessProcess3a;
189 private boolean __containedInBusinessProcess3aSet = false;
190
191 /**
192 * True if this element is part of a business process usecase.
193 * @return (boolean)handleIsContainedInBusinessProcess()
194 */
195 public final boolean isContainedInBusinessProcess()
196 {
197 boolean containedInBusinessProcess3a = this.__containedInBusinessProcess3a;
198 if (!this.__containedInBusinessProcess3aSet)
199 {
200 // containedInBusinessProcess has no pre constraints
201 containedInBusinessProcess3a = handleIsContainedInBusinessProcess();
202 // containedInBusinessProcess has no post constraints
203 this.__containedInBusinessProcess3a = containedInBusinessProcess3a;
204 if (isMetafacadePropertyCachingEnabled())
205 {
206 this.__containedInBusinessProcess3aSet = true;
207 }
208 }
209 return containedInBusinessProcess3a;
210 }
211
212 /**
213 * @return true
214 * @see TransitionFacade
215 */
216 public boolean isTransitionFacadeMetaType()
217 {
218 return true;
219 }
220
221 /**
222 * @return true
223 * @see ModelElementFacade
224 */
225 public boolean isModelElementFacadeMetaType()
226 {
227 return true;
228 }
229
230 // ----------- delegates to TransitionFacade ------------
231 /**
232 * Copies all tagged values from the given ModelElementFacade to this model element facade.
233 * @see ModelElementFacade#copyTaggedValues(ModelElementFacade element)
234 */
235 public void copyTaggedValues(ModelElementFacade element)
236 {
237 this.getSuperTransitionFacade().copyTaggedValues(element);
238 }
239
240 /**
241 * Finds the tagged value with the specified 'tagName'. In case there are more values the first
242 * one found will be returned.
243 * @see ModelElementFacade#findTaggedValue(String tagName)
244 */
245 public Object findTaggedValue(String tagName)
246 {
247 return this.getSuperTransitionFacade().findTaggedValue(tagName);
248 }
249
250 /**
251 * Returns all the values for the tagged value with the specified name. The returned collection
252 * will contains only String instances, or will be empty. Never null.
253 * @see ModelElementFacade#findTaggedValues(String tagName)
254 */
255 public Collection<Object> findTaggedValues(String tagName)
256 {
257 return this.getSuperTransitionFacade().findTaggedValues(tagName);
258 }
259
260 /**
261 * Returns the fully qualified name of the model element. The fully qualified name includes
262 * complete package qualified name of the underlying model element. The templates parameter will
263 * be replaced by the correct one given the binding relation of the parameter to this element.
264 * @see ModelElementFacade#getBindedFullyQualifiedName(ModelElementFacade bindedElement)
265 */
266 public String getBindedFullyQualifiedName(ModelElementFacade bindedElement)
267 {
268 return this.getSuperTransitionFacade().getBindedFullyQualifiedName(bindedElement);
269 }
270
271 /**
272 * Gets all constraints belonging to the model element.
273 * @see ModelElementFacade#getConstraints()
274 */
275 public Collection<ConstraintFacade> getConstraints()
276 {
277 return this.getSuperTransitionFacade().getConstraints();
278 }
279
280 /**
281 * Returns the constraints of the argument kind that have been placed onto this model. Typical
282 * kinds are "inv", "pre" and "post". Other kinds are possible.
283 * @see ModelElementFacade#getConstraints(String kind)
284 */
285 public Collection<ConstraintFacade> getConstraints(String kind)
286 {
287 return this.getSuperTransitionFacade().getConstraints(kind);
288 }
289
290 /**
291 * Gets the documentation for the model element, The indent argument is prefixed to each line.
292 * By default this method wraps lines after 64 characters.
293 * This method is equivalent to <code>getDocumentation(indent, 64)</code>.
294 * @see ModelElementFacade#getDocumentation(String indent)
295 */
296 public String getDocumentation(String indent)
297 {
298 return this.getSuperTransitionFacade().getDocumentation(indent);
299 }
300
301 /**
302 * This method returns the documentation for this model element, with the lines wrapped after
303 * the specified number of characters, values of less than 1 will indicate no line wrapping is
304 * required. By default paragraphs are returned as HTML.
305 * This method is equivalent to <code>getDocumentation(indent, lineLength, true)</code>.
306 * @see ModelElementFacade#getDocumentation(String indent, int lineLength)
307 */
308 public String getDocumentation(String indent, int lineLength)
309 {
310 return this.getSuperTransitionFacade().getDocumentation(indent, lineLength);
311 }
312
313 /**
314 * This method returns the documentation for this model element, with the lines wrapped after
315 * the specified number of characters, values of less than 1 will indicate no line wrapping is
316 * required. HTML style determines if HTML Escaping is applied.
317 * @see ModelElementFacade#getDocumentation(String indent, int lineLength, boolean htmlStyle)
318 */
319 public String getDocumentation(String indent, int lineLength, boolean htmlStyle)
320 {
321 return this.getSuperTransitionFacade().getDocumentation(indent, lineLength, htmlStyle);
322 }
323
324 /**
325 * The fully qualified name of this model element.
326 * @see ModelElementFacade#getFullyQualifiedName()
327 */
328 public String getFullyQualifiedName()
329 {
330 return this.getSuperTransitionFacade().getFullyQualifiedName();
331 }
332
333 /**
334 * Returns the fully qualified name of the model element. The fully qualified name includes
335 * complete package qualified name of the underlying model element. If modelName is true, then
336 * the original name of the model element (the name contained within the model) will be the name
337 * returned, otherwise a name from a language mapping will be returned.
338 * @see ModelElementFacade#getFullyQualifiedName(boolean modelName)
339 */
340 public String getFullyQualifiedName(boolean modelName)
341 {
342 return this.getSuperTransitionFacade().getFullyQualifiedName(modelName);
343 }
344
345 /**
346 * Returns the fully qualified name as a path, the returned value always starts with out a slash
347 * '/'.
348 * @see ModelElementFacade#getFullyQualifiedNamePath()
349 */
350 public String getFullyQualifiedNamePath()
351 {
352 return this.getSuperTransitionFacade().getFullyQualifiedNamePath();
353 }
354
355 /**
356 * Gets the unique identifier of the underlying model element.
357 * @see ModelElementFacade#getId()
358 */
359 public String getId()
360 {
361 return this.getSuperTransitionFacade().getId();
362 }
363
364 /**
365 * UML2: Retrieves the keywords for this element. Used to modify implementation properties which
366 * are not represented by other properties, i.e. native, transient, volatile, synchronized,
367 * (added annotations) override, deprecated. Can also be used to suppress compiler warnings:
368 * (added annotations) unchecked, fallthrough, path, serial, finally, all. Annotations require
369 * JDK5 compiler level.
370 * @see ModelElementFacade#getKeywords()
371 */
372 public Collection<String> getKeywords()
373 {
374 return this.getSuperTransitionFacade().getKeywords();
375 }
376
377 /**
378 * UML2: Retrieves a localized label for this named element.
379 * @see ModelElementFacade#getLabel()
380 */
381 public String getLabel()
382 {
383 return this.getSuperTransitionFacade().getLabel();
384 }
385
386 /**
387 * The language mappings that have been set for this model element.
388 * @see ModelElementFacade#getLanguageMappings()
389 */
390 public TypeMappings getLanguageMappings()
391 {
392 return this.getSuperTransitionFacade().getLanguageMappings();
393 }
394
395 /**
396 * Return the model containing this model element (multiple models may be loaded and processed
397 * at the same time).
398 * @see ModelElementFacade#getModel()
399 */
400 public ModelFacade getModel()
401 {
402 return this.getSuperTransitionFacade().getModel();
403 }
404
405 /**
406 * The name of the model element.
407 * @see ModelElementFacade#getName()
408 */
409 public String getName()
410 {
411 return this.getSuperTransitionFacade().getName();
412 }
413
414 /**
415 * Gets the package to which this model element belongs.
416 * @see ModelElementFacade#getPackage()
417 */
418 public ModelElementFacade getPackage()
419 {
420 return this.getSuperTransitionFacade().getPackage();
421 }
422
423 /**
424 * The name of this model element's package.
425 * @see ModelElementFacade#getPackageName()
426 */
427 public String getPackageName()
428 {
429 return this.getSuperTransitionFacade().getPackageName();
430 }
431
432 /**
433 * Gets the package name (optionally providing the ability to retrieve the model name and not
434 * the mapped name).
435 * @see ModelElementFacade#getPackageName(boolean modelName)
436 */
437 public String getPackageName(boolean modelName)
438 {
439 return this.getSuperTransitionFacade().getPackageName(modelName);
440 }
441
442 /**
443 * Returns the package as a path, the returned value always starts with out a slash '/'.
444 * @see ModelElementFacade#getPackagePath()
445 */
446 public String getPackagePath()
447 {
448 return this.getSuperTransitionFacade().getPackagePath();
449 }
450
451 /**
452 * UML2: Returns the value of the 'Qualified Name' attribute. A name which allows the
453 * NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from
454 * the names of the containing namespaces starting at the root of the hierarchy and ending with
455 * the name of the NamedElement itself.
456 * @see ModelElementFacade#getQualifiedName()
457 */
458 public String getQualifiedName()
459 {
460 return this.getSuperTransitionFacade().getQualifiedName();
461 }
462
463 /**
464 * Gets the root package for the model element.
465 * @see ModelElementFacade#getRootPackage()
466 */
467 public PackageFacade getRootPackage()
468 {
469 return this.getSuperTransitionFacade().getRootPackage();
470 }
471
472 /**
473 * Gets the dependencies for which this model element is the source.
474 * @see ModelElementFacade#getSourceDependencies()
475 */
476 public Collection<DependencyFacade> getSourceDependencies()
477 {
478 return this.getSuperTransitionFacade().getSourceDependencies();
479 }
480
481 /**
482 * If this model element is the context of an activity graph, this represents that activity
483 * graph.
484 * @see ModelElementFacade#getStateMachineContext()
485 */
486 public StateMachineFacade getStateMachineContext()
487 {
488 return this.getSuperTransitionFacade().getStateMachineContext();
489 }
490
491 /**
492 * The collection of ALL stereotype names for this model element.
493 * @see ModelElementFacade#getStereotypeNames()
494 */
495 public Collection<String> getStereotypeNames()
496 {
497 return this.getSuperTransitionFacade().getStereotypeNames();
498 }
499
500 /**
501 * Gets all stereotypes for this model element.
502 * @see ModelElementFacade#getStereotypes()
503 */
504 public Collection<StereotypeFacade> getStereotypes()
505 {
506 return this.getSuperTransitionFacade().getStereotypes();
507 }
508
509 /**
510 * Return the TaggedValues associated with this model element, under all stereotypes.
511 * @see ModelElementFacade#getTaggedValues()
512 */
513 public Collection<TaggedValueFacade> getTaggedValues()
514 {
515 return this.getSuperTransitionFacade().getTaggedValues();
516 }
517
518 /**
519 * Gets the dependencies for which this model element is the target.
520 * @see ModelElementFacade#getTargetDependencies()
521 */
522 public Collection<DependencyFacade> getTargetDependencies()
523 {
524 return this.getSuperTransitionFacade().getTargetDependencies();
525 }
526
527 /**
528 * Get the template parameter for this model element having the parameterName
529 * @see ModelElementFacade#getTemplateParameter(String parameterName)
530 */
531 public Object getTemplateParameter(String parameterName)
532 {
533 return this.getSuperTransitionFacade().getTemplateParameter(parameterName);
534 }
535
536 /**
537 * Get the template parameters for this model element
538 * @see ModelElementFacade#getTemplateParameters()
539 */
540 public Collection<TemplateParameterFacade> getTemplateParameters()
541 {
542 return this.getSuperTransitionFacade().getTemplateParameters();
543 }
544
545 /**
546 * The visibility (i.e. public, private, protected or package) of the model element, will
547 * attempt a lookup for these values in the language mappings (if any).
548 * @see ModelElementFacade#getVisibility()
549 */
550 public String getVisibility()
551 {
552 return this.getSuperTransitionFacade().getVisibility();
553 }
554
555 /**
556 * Returns true if the model element has the exact stereotype (meaning no stereotype inheritance
557 * is taken into account when searching for the stereotype), false otherwise.
558 * @see ModelElementFacade#hasExactStereotype(String stereotypeName)
559 */
560 public boolean hasExactStereotype(String stereotypeName)
561 {
562 return this.getSuperTransitionFacade().hasExactStereotype(stereotypeName);
563 }
564
565 /**
566 * Does the UML Element contain the named Keyword? Keywords can be separated by space, comma,
567 * pipe, semicolon, or << >>
568 * @see ModelElementFacade#hasKeyword(String keywordName)
569 */
570 public boolean hasKeyword(String keywordName)
571 {
572 return this.getSuperTransitionFacade().hasKeyword(keywordName);
573 }
574
575 /**
576 * Returns true if the model element has the specified stereotype. If the stereotype itself
577 * does not match, then a search will be made up the stereotype inheritance hierarchy, and if
578 * one of the stereotype's ancestors has a matching name this method will return true, false
579 * otherwise.
580 * For example, if we have a certain stereotype called <<exception>> and a model element has a
581 * stereotype called <<applicationException>> which extends <<exception>>, when calling this
582 * method with 'stereotypeName' defined as 'exception' the method would return true since
583 * <<applicationException>> inherits from <<exception>>. If you want to check if the model
584 * element has the exact stereotype, then use the method 'hasExactStereotype' instead.
585 * @see ModelElementFacade#hasStereotype(String stereotypeName)
586 */
587 public boolean hasStereotype(String stereotypeName)
588 {
589 return this.getSuperTransitionFacade().hasStereotype(stereotypeName);
590 }
591
592 /**
593 * True if there are target dependencies from this element that are instances of BindingFacade.
594 * Deprecated in UML2: Use TemplateBinding parameters instead of dependencies.
595 * @see ModelElementFacade#isBindingDependenciesPresent()
596 */
597 public boolean isBindingDependenciesPresent()
598 {
599 return this.getSuperTransitionFacade().isBindingDependenciesPresent();
600 }
601
602 /**
603 * Indicates if any constraints are present on this model element.
604 * @see ModelElementFacade#isConstraintsPresent()
605 */
606 public boolean isConstraintsPresent()
607 {
608 return this.getSuperTransitionFacade().isConstraintsPresent();
609 }
610
611 /**
612 * Indicates if any documentation is present on this model element.
613 * @see ModelElementFacade#isDocumentationPresent()
614 */
615 public boolean isDocumentationPresent()
616 {
617 return this.getSuperTransitionFacade().isDocumentationPresent();
618 }
619
620 /**
621 * True if this element name is a reserved word in Java, C#, ANSI or ISO C, C++, JavaScript.
622 * @see ModelElementFacade#isReservedWord()
623 */
624 public boolean isReservedWord()
625 {
626 return this.getSuperTransitionFacade().isReservedWord();
627 }
628
629 /**
630 * True is there are template parameters on this model element. For UML2, applies to Class,
631 * Operation, Property, and Parameter.
632 * @see ModelElementFacade#isTemplateParametersPresent()
633 */
634 public boolean isTemplateParametersPresent()
635 {
636 return this.getSuperTransitionFacade().isTemplateParametersPresent();
637 }
638
639 /**
640 * True if this element name is a valid identifier name in Java, C#, ANSI or ISO C, C++,
641 * JavaScript. Contains no spaces, special characters etc. Constraint always applied on
642 * Enumerations and Interfaces, optionally applies on other model elements.
643 * @see ModelElementFacade#isValidIdentifierName()
644 */
645 public boolean isValidIdentifierName()
646 {
647 return this.getSuperTransitionFacade().isValidIdentifierName();
648 }
649
650 /**
651 * Searches for the constraint with the specified 'name' on this model element, and if found
652 * translates it using the specified 'translation' from a translation library discovered by the
653 * framework.
654 * @see ModelElementFacade#translateConstraint(String name, String translation)
655 */
656 public String translateConstraint(String name, String translation)
657 {
658 return this.getSuperTransitionFacade().translateConstraint(name, translation);
659 }
660
661 /**
662 * Translates all constraints belonging to this model element with the given 'translation'.
663 * @see ModelElementFacade#translateConstraints(String translation)
664 */
665 public String[] translateConstraints(String translation)
666 {
667 return this.getSuperTransitionFacade().translateConstraints(translation);
668 }
669
670 /**
671 * Translates the constraints of the specified 'kind' belonging to this model element.
672 * @see ModelElementFacade#translateConstraints(String kind, String translation)
673 */
674 public String[] translateConstraints(String kind, String translation)
675 {
676 return this.getSuperTransitionFacade().translateConstraints(kind, translation);
677 }
678
679 /**
680 * An action is a named element that is the fundamental unit of executable functionality. The
681 * execution
682 * of an action represents some transformation or processing in the modeled system, be it a
683 * computer
684 * system or otherwise. An action represents a single step within an activity, that is, one that
685 * is not
686 * further decomposed within the activity. An action has pre- and post-conditions.
687 * @see TransitionFacade#getEffect()
688 */
689 public ActionFacade getEffect()
690 {
691 return this.getSuperTransitionFacade().getEffect();
692 }
693
694 /**
695 * A representation of the model object 'Constraint'. A condition or restriction expressed in
696 * natural
697 * language text or in a machine readable language for the purpose of declaring some of the
698 * semantics
699 * of an element.
700 * @see TransitionFacade#getGuard()
701 */
702 public GuardFacade getGuard()
703 {
704 return this.getSuperTransitionFacade().getGuard();
705 }
706
707 /**
708 * A representation of the model object 'Vertex'. An abstraction of a node in a state machine
709 * graph. In
710 * general, it can be the source or destination of any number of transitions.
711 * @see TransitionFacade#getSource()
712 */
713 public StateVertexFacade getSource()
714 {
715 return this.getSuperTransitionFacade().getSource();
716 }
717
718 /**
719 * A representation of the model object 'Vertex'. An abstraction of a node in a state machine
720 * graph. In
721 * general, it can be the source or destination of any number of transitions.
722 * @see TransitionFacade#getTarget()
723 */
724 public StateVertexFacade getTarget()
725 {
726 return this.getSuperTransitionFacade().getTarget();
727 }
728
729 /**
730 * If a trigger is present on this transition, this event represents that trigger.
731 * @see TransitionFacade#getTrigger()
732 */
733 public EventFacade getTrigger()
734 {
735 return this.getSuperTransitionFacade().getTrigger();
736 }
737
738 /**
739 * TODO: Model Documentation for
740 * TransitionFacade.enteringActionState
741 * @see TransitionFacade#isEnteringActionState()
742 */
743 public boolean isEnteringActionState()
744 {
745 return this.getSuperTransitionFacade().isEnteringActionState();
746 }
747
748 /**
749 * TODO: Model Documentation for
750 * TransitionFacade.enteringDecisionPoint
751 * @see TransitionFacade#isEnteringDecisionPoint()
752 */
753 public boolean isEnteringDecisionPoint()
754 {
755 return this.getSuperTransitionFacade().isEnteringDecisionPoint();
756 }
757
758 /**
759 * TODO: Model Documentation for
760 * TransitionFacade.enteringFinalState
761 * @see TransitionFacade#isEnteringFinalState()
762 */
763 public boolean isEnteringFinalState()
764 {
765 return this.getSuperTransitionFacade().isEnteringFinalState();
766 }
767
768 /**
769 * TODO: Model Documentation for
770 * TransitionFacade.exitingActionState
771 * @see TransitionFacade#isExitingActionState()
772 */
773 public boolean isExitingActionState()
774 {
775 return this.getSuperTransitionFacade().isExitingActionState();
776 }
777
778 /**
779 * TODO: Model Documentation for
780 * TransitionFacade.exitingDecisionPoint
781 * @see TransitionFacade#isExitingDecisionPoint()
782 */
783 public boolean isExitingDecisionPoint()
784 {
785 return this.getSuperTransitionFacade().isExitingDecisionPoint();
786 }
787
788 /**
789 * TODO: Model Documentation for
790 * TransitionFacade.exitingInitialState
791 * @see TransitionFacade#isExitingInitialState()
792 */
793 public boolean isExitingInitialState()
794 {
795 return this.getSuperTransitionFacade().isExitingInitialState();
796 }
797
798 /**
799 * TODO: Model Documentation for TransitionFacade.triggerPresent
800 * @see TransitionFacade#isTriggerPresent()
801 */
802 public boolean isTriggerPresent()
803 {
804 return this.getSuperTransitionFacade().isTriggerPresent();
805 }
806
807 /**
808 * @see org.andromda.core.metafacade.MetafacadeBase#initialize()
809 */
810 @Override
811 public void initialize()
812 {
813 this.getSuperTransitionFacade().initialize();
814 }
815
816 /**
817 * @return Object getSuperTransitionFacade().getValidationOwner()
818 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationOwner()
819 */
820 @Override
821 public Object getValidationOwner()
822 {
823 Object owner = this.getSuperTransitionFacade().getValidationOwner();
824 return owner;
825 }
826
827 /**
828 * @return String getSuperTransitionFacade().getValidationName()
829 * @see org.andromda.core.metafacade.MetafacadeBase#getValidationName()
830 */
831 @Override
832 public String getValidationName()
833 {
834 String name = this.getSuperTransitionFacade().getValidationName();
835 return name;
836 }
837
838 /**
839 * @param validationMessages Collection<ModelValidationMessage>
840 * @see org.andromda.core.metafacade.MetafacadeBase#validateInvariants(Collection validationMessages)
841 */
842 @Override
843 public void validateInvariants(Collection<ModelValidationMessage> validationMessages)
844 {
845 this.getSuperTransitionFacade().validateInvariants(validationMessages);
846 }
847
848 /**
849 * The property that stores the name of the metafacade.
850 */
851 private static final String NAME_PROPERTY = "name";
852 private static final String FQNAME_PROPERTY = "fullyQualifiedName";
853
854 /**
855 * @see Object#toString()
856 */
857 @Override
858 public String toString()
859 {
860 final StringBuilder toString = new StringBuilder(this.getClass().getName());
861 toString.append("[");
862 try
863 {
864 toString.append(Introspector.instance().getProperty(this, FQNAME_PROPERTY));
865 }
866 catch (final Throwable tryAgain)
867 {
868 try
869 {
870 toString.append(Introspector.instance().getProperty(this, NAME_PROPERTY));
871 }
872 catch (final Throwable ignore)
873 {
874 // - just ignore when the metafacade doesn't have a name or fullyQualifiedName property
875 }
876 }
877 toString.append("]");
878 return toString.toString();
879 }
880 }