001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.flow;
008    
009    import org.eclipse.emf.common.util.EList;
010    
011    /**
012     * <!-- begin-user-doc -->
013     * A representation of the model object '<em><b>Flow</b></em>'.
014     * <!-- end-user-doc -->
015     *
016     * <!-- begin-model-doc -->
017     * Flow is a collection of connected nodes and sub-flows.
018     * <!-- end-model-doc -->
019     *
020     * <p>
021     * The following features are supported:
022     * <ul>
023     *   <li>{@link com.hammurapi.flow.Flow#getFlowElement <em>Flow Element</em>}</li>
024     *   <li>{@link com.hammurapi.flow.Flow#getFacadeInterface <em>Facade Interface</em>}</li>
025     * </ul>
026     * </p>
027     *
028     * @see com.hammurapi.flow.FlowPackage#getFlow()
029     * @model
030     * @generated
031     */
032    public interface Flow extends Node {
033            /**
034             * Returns the value of the '<em><b>Flow Element</b></em>' containment reference list.
035             * The list contents are of type {@link com.hammurapi.flow.FlowElement}.
036             * It is bidirectional and its opposite is '{@link com.hammurapi.flow.FlowElement#getFlow <em>Flow</em>}'.
037             * <!-- begin-user-doc -->
038             * <!-- end-user-doc -->
039             * <!-- begin-model-doc -->
040             * Flow contains zero or more elements.
041             * <!-- end-model-doc -->
042             * @return the value of the '<em>Flow Element</em>' containment reference list.
043             * @see com.hammurapi.flow.FlowPackage#getFlow_FlowElement()
044             * @see com.hammurapi.flow.FlowElement#getFlow
045             * @model opposite="flow" containment="true"
046             * @generated
047             */
048            EList<FlowElement> getFlowElement();
049    
050            /**
051             * Returns the value of the '<em><b>Facade Interface</b></em>' attribute.
052             * <!-- begin-user-doc -->
053             * <p>
054             * If the meaning of the '<em>Facade Interface</em>' attribute isn't clear,
055             * there really should be more of a description here...
056             * </p>
057             * <!-- end-user-doc -->
058             * @return the value of the '<em>Facade Interface</em>' attribute.
059             * @see #setFacadeInterface(String)
060             * @see com.hammurapi.flow.FlowPackage#getFlow_FacadeInterface()
061             * @model
062             * @generated
063             */
064            String getFacadeInterface();
065    
066            /**
067             * Sets the value of the '{@link com.hammurapi.flow.Flow#getFacadeInterface <em>Facade Interface</em>}' attribute.
068             * <!-- begin-user-doc -->
069             * <!-- end-user-doc -->
070             * @param value the new value of the '<em>Facade Interface</em>' attribute.
071             * @see #getFacadeInterface()
072             * @generated
073             */
074            void setFacadeInterface(String value);
075    
076    } // Flow