001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.flow;
008    
009    import com.hammurapi.config.Named;
010    import com.hammurapi.config.NamedObjectDefinition;
011    import org.eclipse.emf.common.util.EList;
012    
013    /**
014     * <!-- begin-user-doc -->
015     * A representation of the model object '<em><b>Element</b></em>'.
016     * <!-- end-user-doc -->
017     *
018     * <!-- begin-model-doc -->
019     * Flow element
020     * 
021     * <!-- end-model-doc -->
022     *
023     * <p>
024     * The following features are supported:
025     * <ul>
026     *   <li>{@link com.hammurapi.flow.FlowElement#getFlow <em>Flow</em>}</li>
027     *   <li>{@link com.hammurapi.flow.FlowElement#getViewConfig <em>View Config</em>}</li>
028     * </ul>
029     * </p>
030     *
031     * @see com.hammurapi.flow.FlowPackage#getFlowElement()
032     * @model interface="true" abstract="true"
033     * @generated
034     */
035    public interface FlowElement extends NamedObjectDefinition {
036    
037            /**
038             * Returns the value of the '<em><b>Flow</b></em>' container reference.
039             * It is bidirectional and its opposite is '{@link com.hammurapi.flow.Flow#getFlowElement <em>Flow Element</em>}'.
040             * <!-- begin-user-doc -->
041             * <p>
042             * If the meaning of the '<em>Flow</em>' container reference isn't clear,
043             * there really should be more of a description here...
044             * </p>
045             * <!-- end-user-doc -->
046             * @return the value of the '<em>Flow</em>' container reference.
047             * @see #setFlow(Flow)
048             * @see com.hammurapi.flow.FlowPackage#getFlowElement_Flow()
049             * @see com.hammurapi.flow.Flow#getFlowElement
050             * @model opposite="flowElement" transient="false"
051             * @generated
052             */
053            Flow getFlow();
054    
055            /**
056             * Sets the value of the '{@link com.hammurapi.flow.FlowElement#getFlow <em>Flow</em>}' container reference.
057             * <!-- begin-user-doc -->
058             * <!-- end-user-doc -->
059             * @param value the new value of the '<em>Flow</em>' container reference.
060             * @see #getFlow()
061             * @generated
062             */
063            void setFlow(Flow value);
064    
065            /**
066             * Returns the value of the '<em><b>View Config</b></em>' containment reference list.
067             * The list contents are of type {@link com.hammurapi.config.Named}.
068             * <!-- begin-user-doc -->
069             * <p>
070             * If the meaning of the '<em>View Config</em>' containment reference list isn't clear,
071             * there really should be more of a description here...
072             * </p>
073             * <!-- end-user-doc -->
074             * <!-- begin-model-doc -->
075             * Flow elements can store presentation information for different views in the viewConfig collection.
076             * <!-- end-model-doc -->
077             * @return the value of the '<em>View Config</em>' containment reference list.
078             * @see com.hammurapi.flow.FlowPackage#getFlowElement_ViewConfig()
079             * @model containment="true"
080             * @generated
081             */
082            EList<Named> getViewConfig();
083    } // FlowElement