View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: generated code (by MetafacadeLogic.vsl) - do not modify!
4   //
5   package org.andromda.cartridges.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 }