01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.commons.scxml.model;
18:
19: import java.util.HashSet;
20: import java.util.Set;
21:
22: /**
23: * The class in this SCXML object model that corresponds to the
24: * <parallel> SCXML element, which is a wrapper element to
25: * encapsulate parallel state machines. For the <parallel> element
26: * to be useful, each of its <state> substates must itself be
27: * complex, that is, one with either <state> or <parallel>
28: * children.
29: *
30: */
31: public class Parallel extends TransitionTarget {
32:
33: /**
34: * Serial version UID.
35: */
36: private static final long serialVersionUID = 1L;
37:
38: /**
39: * The set of parallel state machines contained in this <parallel>.
40: */
41: private Set states;
42:
43: /**
44: * Constructor.
45: */
46: public Parallel() {
47: this .states = new HashSet();
48: }
49:
50: /**
51: * Get the set of parallel state machines contained in this Parallel.
52: *
53: * @return Returns the state.
54: */
55: public final Set getStates() {
56: return states;
57: }
58:
59: /**
60: * Add a State to the list of parallel state machines contained
61: * in this Parallel.
62: *
63: * @param state The state to add.
64: */
65: public final void addState(final State state) {
66: if (state != null) {
67: this.states.add(state);
68: }
69: }
70:
71: }
|