    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>Predicate Node</b></em>'.
    014     * <!-- end-user-doc -->
    015     *
    016     * <!-- begin-model-doc -->
    017     * Predicate node.
    018     * <!-- end-model-doc -->
    019     *
    020     * <p>
    021     * The following features are supported:
    022     * <ul>
    023     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#getTrueOutputs <em>True Outputs</em>}</li>
    024     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#getFalseOutputs <em>False Outputs</em>}</li>
    025     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#getTrueChildren <em>True Children</em>}</li>
    026     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#getFalseChildren <em>False Children</em>}</li>
    027     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#isIsRoot <em>Is Root</em>}</li>
    028     *   <li>{@link com.hammurapi.eventbus.snapshot.PredicateNode#getPredicate <em>Predicate</em>}</li>
    029     * </ul>
    030     * </p>
    031     *
    032     * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode()
    033     * @model
    034     * @generated
    035     */
    036    public interface PredicateNode extends SnapshotElement {
    037            /**
    038             * Returns the value of the '<em><b>True Outputs</b></em>' reference list.
    039             * The list contents are of type {@link com.hammurapi.eventbus.snapshot.PredicateNodeOutput}.
    040             * <!-- begin-user-doc -->
    041             * <p>
    042             * If the meaning of the '<em>True Outputs</em>' reference list isn't clear,
    043             * there really should be more of a description here...
    044             * </p>
    045             * <!-- end-user-doc -->
    046             * <!-- begin-model-doc -->
    047             * Handlers fired when node's predicate evaluates to true.
    048             * <!-- end-model-doc -->
    049             * @return the value of the '<em>True Outputs</em>' reference list.
    050             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_TrueOutputs()
    051             * @model
    052             * @generated
    053             */
    054            EList<PredicateNodeOutput> getTrueOutputs();
    055
    056            /**
    057             * Returns the value of the '<em><b>False Outputs</b></em>' reference list.
    058             * The list contents are of type {@link com.hammurapi.eventbus.snapshot.PredicateNodeOutput}.
    059             * <!-- begin-user-doc -->
    060             * <p>
    061             * If the meaning of the '<em>False Outputs</em>' reference list isn't clear,
    062             * there really should be more of a description here...
    063             * </p>
    064             * <!-- end-user-doc -->
    065             * <!-- begin-model-doc -->
    066             * Handlers fired when node predicate evaluates to false.
    067             * <!-- end-model-doc -->
    068             * @return the value of the '<em>False Outputs</em>' reference list.
    069             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_FalseOutputs()
    070             * @model
    071             * @generated
    072             */
    073            EList<PredicateNodeOutput> getFalseOutputs();
    074
    075            /**
    076             * Returns the value of the '<em><b>True Children</b></em>' reference list.
    077             * The list contents are of type {@link com.hammurapi.eventbus.snapshot.PredicateNode}.
    078             * <!-- begin-user-doc -->
    079             * <p>
    080             * If the meaning of the '<em>True Children</em>' reference list isn't clear,
    081             * there really should be more of a description here...
    082             * </p>
    083             * <!-- end-user-doc -->
    084             * <!-- begin-model-doc -->
    085             * Child predicate nodes which are activated when this node predicate evaluates to true.
    086             * <!-- end-model-doc -->
    087             * @return the value of the '<em>True Children</em>' reference list.
    088             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_TrueChildren()
    089             * @model
    090             * @generated
    091             */
    092            EList<PredicateNode> getTrueChildren();
    093
    094            /**
    095             * Returns the value of the '<em><b>False Children</b></em>' reference list.
    096             * The list contents are of type {@link com.hammurapi.eventbus.snapshot.PredicateNode}.
    097             * <!-- begin-user-doc -->
    098             * <p>
    099             * If the meaning of the '<em>False Children</em>' reference list isn't clear,
    100             * there really should be more of a description here...
    101             * </p>
    102             * <!-- end-user-doc -->
    103             * <!-- begin-model-doc -->
    104             * Child predicate nodes which are activated when this node predicate evaluates to false.
    105             * <!-- end-model-doc -->
    106             * @return the value of the '<em>False Children</em>' reference list.
    107             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_FalseChildren()
    108             * @model
    109             * @generated
    110             */
    111            EList<PredicateNode> getFalseChildren();
    112
    113            /**
    114             * Returns the value of the '<em><b>Is Root</b></em>' attribute.
    115             * <!-- begin-user-doc -->
    116             * <p>
    117             * If the meaning of the '<em>Is Root</em>' attribute isn't clear,
    118             * there really should be more of a description here...
    119             * </p>
    120             * <!-- end-user-doc -->
    121             * <!-- begin-model-doc -->
    122             * If true, the node is the root of the dispatch network.
    123             * <!-- end-model-doc -->
    124             * @return the value of the '<em>Is Root</em>' attribute.
    125             * @see #setIsRoot(boolean)
    126             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_IsRoot()
    127             * @model
    128             * @generated
    129             */
    130            boolean isIsRoot();
    131
    132            /**
    133             * Sets the value of the '{@link com.hammurapi.eventbus.snapshot.PredicateNode#isIsRoot <em>Is Root</em>}' attribute.
    134             * <!-- begin-user-doc -->
    135             * <!-- end-user-doc -->
    136             * @param value the new value of the '<em>Is Root</em>' attribute.
    137             * @see #isIsRoot()
    138             * @generated
    139             */
    140            void setIsRoot(boolean value);
    141
    142            /**
    143             * Returns the value of the '<em><b>Predicate</b></em>' containment reference.
    144             * <!-- begin-user-doc -->
    145             * <!-- end-user-doc -->
    146             * <!-- begin-model-doc -->
    147             * Node's predicate.
    148             * <!-- end-model-doc -->
    149             * @return the value of the '<em>Predicate</em>' containment reference.
    150             * @see #setPredicate(Predicate)
    151             * @see com.hammurapi.eventbus.snapshot.SnapshotPackage#getPredicateNode_Predicate()
    152             * @model containment="true" required="true"
    153             * @generated
    154             */
    155            Predicate getPredicate();
    156
    157            /**
    158             * Sets the value of the '{@link com.hammurapi.eventbus.snapshot.PredicateNode#getPredicate <em>Predicate</em>}' containment reference.
    159             * <!-- begin-user-doc -->
    160             * <!-- end-user-doc -->
    161             * @param value the new value of the '<em>Predicate</em>' containment reference.
    162             * @see #getPredicate()
    163             * @generated
    164             */
    165            void setPredicate(Predicate value);
    166
    167    } // PredicateNode