001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.metafacades.uml;
006
007/**
008 * A directed relationship between a source vertex and a target vertex. It may be part of a compound
009 * transition, which takes the state machine from one state configuration to another, representing
010 * the complete response of the state machine to an occurrence of an event of a particular type.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface TransitionFacade
015    extends ModelElementFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isTransitionFacadeMetaType();
023
024    /**
025     * An action is a named element that is the fundamental unit of executable functionality. The
026     * execution
027     * of an action represents some transformation or processing in the modeled system, be it a
028     * computer
029     * system or otherwise. An action represents a single step within an activity, that is, one that
030     * is not
031     * further decomposed within the activity. An action has pre- and post-conditions.
032     * @return ActionFacade
033     */
034    public ActionFacade getEffect();
035
036    /**
037     * A representation of the model object 'Constraint'. A condition or restriction expressed in
038     * natural
039     * language text or in a machine readable language for the purpose of declaring some of the
040     * semantics
041     * of an element.
042     * @return GuardFacade
043     */
044    public GuardFacade getGuard();
045
046    /**
047     * A representation of the model object 'Vertex'. An abstraction of a node in a state machine
048     * graph. In
049     * general, it can be the source or destination of any number of transitions.
050     * @return StateVertexFacade
051     */
052    public StateVertexFacade getSource();
053
054    /**
055     * A representation of the model object 'Vertex'. An abstraction of a node in a state machine
056     * graph. In
057     * general, it can be the source or destination of any number of transitions.
058     * @return StateVertexFacade
059     */
060    public StateVertexFacade getTarget();
061
062    /**
063     * If a trigger is present on this transition, this event represents that trigger.
064     * @return EventFacade
065     */
066    public EventFacade getTrigger();
067
068    /**
069     * TODO: Model Documentation for
070     * org.andromda.metafacades.uml.TransitionFacade.enteringActionState
071     * @return boolean
072     */
073    public boolean isEnteringActionState();
074
075    /**
076     * TODO: Model Documentation for
077     * org.andromda.metafacades.uml.TransitionFacade.enteringDecisionPoint
078     * @return boolean
079     */
080    public boolean isEnteringDecisionPoint();
081
082    /**
083     * TODO: Model Documentation for
084     * org.andromda.metafacades.uml.TransitionFacade.enteringFinalState
085     * @return boolean
086     */
087    public boolean isEnteringFinalState();
088
089    /**
090     * TODO: Model Documentation for
091     * org.andromda.metafacades.uml.TransitionFacade.exitingActionState
092     * @return boolean
093     */
094    public boolean isExitingActionState();
095
096    /**
097     * TODO: Model Documentation for
098     * org.andromda.metafacades.uml.TransitionFacade.exitingDecisionPoint
099     * @return boolean
100     */
101    public boolean isExitingDecisionPoint();
102
103    /**
104     * TODO: Model Documentation for
105     * org.andromda.metafacades.uml.TransitionFacade.exitingInitialState
106     * @return boolean
107     */
108    public boolean isExitingInitialState();
109
110    /**
111     * TODO: Model Documentation for org.andromda.metafacades.uml.TransitionFacade.triggerPresent
112     * @return boolean
113     */
114    public boolean isTriggerPresent();
115}