001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.eventbus.snapshot;
008    
009    import org.eclipse.emf.common.util.EList;
010    
011    /**
012     * <!-- begin-user-doc -->
013     * A representation of the model object '<em><b>Event</b></em>'.
014     * <!-- end-user-doc -->
015     *
016     * <!-- begin-model-doc -->
017     * Event.
018     * <!-- end-model-doc -->
019     *
020     * <p>
021     * The following features are supported:
022     * <ul>
023     *   <li>{@link com.hammurapi.eventbus.snapshot.Event#getDerivations <em>Derivations</em>}</li>
024     *   <li>{@link com.hammurapi.eventbus.snapshot.Event#getPartRole <em>Part Role</em>}</li>
025     *   <li>{@link com.hammurapi.eventbus.snapshot.Event#isDirectPost <em>Direct Post</em>}</li>
026     * </ul>
027     * </p>
028     *
029     * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getEvent()
030     * @model
031     * @generated
032     */
033    public interface Event extends SnapshotElement {
034            /**
035             * Returns the value of the '<em><b>Derivations</b></em>' containment reference list.
036             * The list contents are of type {@link com.hammurapi.eventbus.snapshot.Derivation}.
037             * <!-- begin-user-doc -->
038             * <p>
039             * If the meaning of the '<em>Derivations</em>' containment reference list isn't clear,
040             * there really should be more of a description here...
041             * </p>
042             * <!-- end-user-doc -->
043             * <!-- begin-model-doc -->
044             * Derivations.
045             * <!-- end-model-doc -->
046             * @return the value of the '<em>Derivations</em>' containment reference list.
047             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getEvent_Derivations()
048             * @model containment="true"
049             * @generated
050             */
051            EList<Derivation> getDerivations();
052    
053            /**
054             * Returns the value of the '<em><b>Part Role</b></em>' attribute.
055             * <!-- begin-user-doc -->
056             * <!-- end-user-doc -->
057             * <!-- begin-model-doc -->
058             * Role of this event in the composite.
059             * <!-- end-model-doc -->
060             * @return the value of the '<em>Part Role</em>' attribute.
061             * @see #setPartRole(String)
062             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getEvent_PartRole()
063             * @model
064             * @generated
065             */
066            String getPartRole();
067    
068            /**
069             * Sets the value of the '{@link com.hammurapi.eventbus.snapshot.Event#getPartRole <em>Part Role</em>}' attribute.
070             * <!-- begin-user-doc -->
071             * <!-- end-user-doc -->
072             * @param value the new value of the '<em>Part Role</em>' attribute.
073             * @see #getPartRole()
074             * @generated
075             */
076            void setPartRole(String value);
077    
078            /**
079             * Returns the value of the '<em><b>Direct Post</b></em>' attribute.
080             * <!-- begin-user-doc -->
081             * <!-- end-user-doc -->
082             * <!-- begin-model-doc -->
083             * True means that event was posted to the bus by client code, false means that event was derived by handlers. Note that directly posted event can also be derived.
084             * <!-- end-model-doc -->
085             * @return the value of the '<em>Direct Post</em>' attribute.
086             * @see #setDirectPost(boolean)
087             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getEvent_DirectPost()
088             * @model
089             * @generated
090             */
091            boolean isDirectPost();
092    
093            /**
094             * Sets the value of the '{@link com.hammurapi.eventbus.snapshot.Event#isDirectPost <em>Direct Post</em>}' attribute.
095             * <!-- begin-user-doc -->
096             * <!-- end-user-doc -->
097             * @param value the new value of the '<em>Direct Post</em>' attribute.
098             * @see #isDirectPost()
099             * @generated
100             */
101            void setDirectPost(boolean value);
102    
103    } // Event