001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.flow;
008    
009    import com.hammurapi.config.Factory;
010    
011    
012    /**
013     * <!-- begin-user-doc -->
014     * A representation of the model object '<em><b>Transition</b></em>'.
015     * <!-- end-user-doc -->
016     *
017     * <!-- begin-model-doc -->
018     * Transition connects two pins.
019     * <!-- end-model-doc -->
020     *
021     * <p>
022     * The following features are supported:
023     * <ul>
024     *   <li>{@link com.hammurapi.flow.Transition#getFromPin <em>From Pin</em>}</li>
025     *   <li>{@link com.hammurapi.flow.Transition#getToPin <em>To Pin</em>}</li>
026     *   <li>{@link com.hammurapi.flow.Transition#getFromKey <em>From Key</em>}</li>
027     *   <li>{@link com.hammurapi.flow.Transition#getToKey <em>To Key</em>}</li>
028     * </ul>
029     * </p>
030     *
031     * @see com.hammurapi.flow.FlowPackage#getTransition()
032     * @model
033     * @generated
034     */
035    public interface Transition extends FlowElement {
036            /**
037             * Returns the value of the '<em><b>From Pin</b></em>' reference.
038             * It is bidirectional and its opposite is '{@link com.hammurapi.flow.Pin#getOutput <em>Output</em>}'.
039             * <!-- begin-user-doc -->
040             * <!-- end-user-doc -->
041             * <!-- begin-model-doc -->
042             * Transition has one source pin.
043             * <!-- end-model-doc -->
044             * @return the value of the '<em>From Pin</em>' reference.
045             * @see #setFromPin(Pin)
046             * @see com.hammurapi.flow.FlowPackage#getTransition_FromPin()
047             * @see com.hammurapi.flow.Pin#getOutput
048             * @model opposite="output" required="true"
049             * @generated
050             */
051            Pin getFromPin();
052    
053            /**
054             * Sets the value of the '{@link com.hammurapi.flow.Transition#getFromPin <em>From Pin</em>}' reference.
055             * <!-- begin-user-doc -->
056             * <!-- end-user-doc -->
057             * @param value the new value of the '<em>From Pin</em>' reference.
058             * @see #getFromPin()
059             * @generated
060             */
061            void setFromPin(Pin value);
062    
063            /**
064             * Returns the value of the '<em><b>To Pin</b></em>' reference.
065             * It is bidirectional and its opposite is '{@link com.hammurapi.flow.Pin#getInput <em>Input</em>}'.
066             * <!-- begin-user-doc -->
067             * <!-- end-user-doc -->
068             * <!-- begin-model-doc -->
069             * Transition has one target pin.
070             * <!-- end-model-doc -->
071             * @return the value of the '<em>To Pin</em>' reference.
072             * @see #setToPin(Pin)
073             * @see com.hammurapi.flow.FlowPackage#getTransition_ToPin()
074             * @see com.hammurapi.flow.Pin#getInput
075             * @model opposite="input" required="true"
076             * @generated
077             */
078            Pin getToPin();
079    
080            /**
081             * Sets the value of the '{@link com.hammurapi.flow.Transition#getToPin <em>To Pin</em>}' reference.
082             * <!-- begin-user-doc -->
083             * <!-- end-user-doc -->
084             * @param value the new value of the '<em>To Pin</em>' reference.
085             * @see #getToPin()
086             * @generated
087             */
088            void setToPin(Pin value);
089    
090            /**
091             * Returns the value of the '<em><b>From Key</b></em>' containment reference.
092             * <!-- begin-user-doc -->
093             * <p>
094             * If the meaning of the '<em>From Key</em>' reference isn't clear,
095             * there really should be more of a description here...
096             * </p>
097             * <!-- end-user-doc -->
098             * <!-- begin-model-doc -->
099             * Transitions pass connection keys to pins at runtime so pins can properly wire transitions.
100             * <!-- end-model-doc -->
101             * @return the value of the '<em>From Key</em>' containment reference.
102             * @see #setFromKey(Factory)
103             * @see com.hammurapi.flow.FlowPackage#getTransition_FromKey()
104             * @model containment="true"
105             * @generated
106             */
107            Factory getFromKey();
108    
109            /**
110             * Sets the value of the '{@link com.hammurapi.flow.Transition#getFromKey <em>From Key</em>}' containment reference.
111             * <!-- begin-user-doc -->
112             * <!-- end-user-doc -->
113             * @param value the new value of the '<em>From Key</em>' containment reference.
114             * @see #getFromKey()
115             * @generated
116             */
117            void setFromKey(Factory value);
118    
119            /**
120             * Returns the value of the '<em><b>To Key</b></em>' containment reference.
121             * <!-- begin-user-doc -->
122             * <p>
123             * If the meaning of the '<em>To Key</em>' reference isn't clear,
124             * there really should be more of a description here...
125             * </p>
126             * <!-- end-user-doc -->
127             * @return the value of the '<em>To Key</em>' containment reference.
128             * @see #setToKey(Factory)
129             * @see com.hammurapi.flow.FlowPackage#getTransition_ToKey()
130             * @model containment="true"
131             * @generated
132             */
133            Factory getToKey();
134    
135            /**
136             * Sets the value of the '{@link com.hammurapi.flow.Transition#getToKey <em>To Key</em>}' containment reference.
137             * <!-- begin-user-doc -->
138             * <!-- end-user-doc -->
139             * @param value the new value of the '<em>To Key</em>' containment reference.
140             * @see #getToKey()
141             * @generated
142             */
143            void setToKey(Factory value);
144    
145    } // Transition