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