1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml;
18
19 import java.util.ArrayList;
20 import java.util.Collection;
21 import java.util.List;
22
23 /***
24 * A logical unit of progression in the execution of a SCXML model.
25 *
26 */
27 public class Step {
28
29 /***
30 * Constructor.
31 */
32 public Step() {
33 this.externalEvents = new ArrayList();
34 this.beforeStatus = new Status();
35 this.afterStatus = new Status();
36 this.exitList = new ArrayList();
37 this.entryList = new ArrayList();
38 this.transitList = new ArrayList();
39 }
40
41 /***
42 * @param externalEvents The external events received in this
43 * unit of progression
44 * @param beforeStatus The before status
45 */
46 public Step(final Collection externalEvents, final Status beforeStatus) {
47 if (externalEvents != null) {
48 this.externalEvents = externalEvents;
49 } else {
50 this.externalEvents = new ArrayList();
51 }
52 if (beforeStatus != null) {
53 this.beforeStatus = beforeStatus;
54 } else {
55 this.beforeStatus = new Status();
56 }
57 this.afterStatus = new Status();
58 this.exitList = new ArrayList();
59 this.entryList = new ArrayList();
60 this.transitList = new ArrayList();
61 }
62
63 /***
64 * The external events in this step.
65 */
66 private Collection externalEvents;
67
68 /***
69 * The status before this step.
70 */
71 private Status beforeStatus;
72
73 /***
74 * The status after this step.
75 */
76 private Status afterStatus;
77
78 /***
79 * The list of TransitionTargets that were exited during this step.
80 */
81 private List exitList;
82
83 /***
84 * The list of TransitionTargets that were entered during this step.
85 */
86 private List entryList;
87
88 /***
89 * The list of Transitions taken during this step.
90 */
91 private List transitList;
92
93 /***
94 * @return Returns the afterStatus.
95 */
96 public Status getAfterStatus() {
97 return afterStatus;
98 }
99
100 /***
101 * @param afterStatus The afterStatus to set.
102 */
103 public void setAfterStatus(final Status afterStatus) {
104 this.afterStatus = afterStatus;
105 }
106
107 /***
108 * @return Returns the beforeStatus.
109 */
110 public Status getBeforeStatus() {
111 return beforeStatus;
112 }
113
114 /***
115 * @param beforeStatus The beforeStatus to set.
116 */
117 public void setBeforeStatus(final Status beforeStatus) {
118 this.beforeStatus = beforeStatus;
119 }
120
121 /***
122 * @return Returns the entryList.
123 */
124 public List getEntryList() {
125 return entryList;
126 }
127
128 /***
129 * @return Returns the exitList.
130 */
131 public List getExitList() {
132 return exitList;
133 }
134
135 /***
136 * @return Returns the externalEvents.
137 */
138 public Collection getExternalEvents() {
139 return externalEvents;
140 }
141
142 /***
143 * @return Returns the transitList.
144 */
145 public List getTransitList() {
146 return transitList;
147 }
148
149 }
150