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