1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.scxml.model;
19
20 import java.util.ArrayList;
21 import java.util.List;
22
23 /***
24 * An abstract base class for containers of executable elements in SCXML,
25 * such as <onentry> and <onexit>.
26 *
27 */
28 public abstract class Executable {
29
30 /***
31 * The set of executable elements (those that inheriting from
32 * Action) that are contained in this Executable.
33 */
34 private List actions;
35
36 /***
37 * The parent container, for traceability.
38 */
39 private TransitionTarget parent;
40
41 /***
42 * Constructor.
43 */
44 public Executable() {
45 super();
46 this.actions = new ArrayList();
47 }
48
49 /***
50 * Get the executable actions contained in this Executable.
51 *
52 * @return Returns the actions.
53 */
54 public final List getActions() {
55 return actions;
56 }
57
58 /***
59 * Add an Action to the list of executable actions contained in
60 * this Executable.
61 *
62 * @param action The action to add.
63 */
64 public final void addAction(final Action action) {
65 if (action != null) {
66 this.actions.add(action);
67 }
68 }
69
70 /***
71 * Get the TransitionTarget parent.
72 *
73 * @return Returns the parent.
74 */
75 public final TransitionTarget getParent() {
76 return parent;
77 }
78
79 /***
80 * Set the TransitionTarget parent.
81 *
82 * @param parent The parent to set.
83 */
84 public final void setParent(final TransitionTarget parent) {
85 this.parent = parent;
86 }
87
88 }
89