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: /**
20: * The class in this SCXML object model that corresponds to the
21: * <history> SCXML pseudo state element.
22: *
23: */
24: public class History extends TransitionTarget {
25:
26: /**
27: * Serial version UID.
28: */
29: private static final long serialVersionUID = 1L;
30:
31: /**
32: * Whether this is a shallow or deep history, the default is shallow.
33: */
34: private boolean isDeep;
35:
36: /**
37: * A conditionless transition representing the default history state
38: * and indicates the state to transition to if the parent state has
39: * never been entered before.
40: */
41: private Transition transition;
42:
43: /**
44: * Default no-args constructor for XML Digester.
45: */
46: public History() {
47: super ();
48: }
49:
50: /**
51: * Get the transition.
52: *
53: * @return Returns the transition.
54: */
55: public final Transition getTransition() {
56: return transition;
57: }
58:
59: /**
60: * Set the transition.
61: *
62: * @param transition The transition to set.
63: */
64: public final void setTransition(final Transition transition) {
65: this .transition = transition;
66: }
67:
68: /**
69: * Is this history "deep" (as against "shallow").
70: *
71: * @return Returns whether this is a "deep" history
72: */
73: public final boolean isDeep() {
74: return isDeep;
75: }
76:
77: /**
78: * This method is invoked by XML digester when parsing SCXML markup.
79: *
80: * @param type The history type, which can be "shallow" or
81: * "deep"
82: */
83: public final void setType(final String type) {
84: if (type.equals("deep")) {
85: isDeep = true;
86: }
87: //shallow is by default
88: }
89:
90: }
|