##### Coverage Report - org.apache.commons.scxml.model.TransitionTarget

Classes in this File | Line Coverage | Branch Coverage | Complexity
TransitionTarget |
100% |
100% |
| 1.3333333333333333;1.333

1 |  |
     /*
2 |  |
      * Licensed to the Apache Software Foundation (ASF) under one or more
3 |  |
      * contributor license agreements.  See the NOTICE file distributed with
4 |  |
      * this work for additional information regarding copyright ownership.
5 |  |
      * The ASF licenses this file to You under the Apache License, Version 2.0
6 |  |
      * (the "License"); you may not use this file except in compliance with
7 |  |
      * the License.  You may obtain a copy of the License at
8 |  |
      *
9 |  |
      *     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.io.Serializable;
20 |  |
21 |  |
     /**
22 |  |
      * An abstract base class for elements in SCXML that can serve as a
23 |  |
      * &lt;target&gt; for a &lt;transition&gt;, such as State or Parallel.
24 |  |
      *
25 |  |
      */
26 |  |
     public abstract class TransitionTarget implements Serializable {
27 |  |
28 |  |
         /**
29 |  |
          * Identifier for this transition target. Other parts of the SCXML
30 |  |
          * document may refer to this &lt;state&gt; using this ID.
31 |  |
          */
32 |  |
         private String id;
33 |  |
34 |  |
         /**
35 |  |
          * Optional property holding executable content to be run upon
36 |  |
          * entering this transition target.
37 |  |
          */
38 |  |
         private OnEntry onEntry;
39 |  |
40 |  |
         /**
41 |  |
          * Optional property holding executable content to be run upon
42 |  |
          * exiting this transition target.
43 |  |
          */
44 |  |
         private OnExit onExit;
45 |  |
46 |  |
         /**
47 |  |
          * Optional property holding the data model for this transition target.
48 |  |
          */
49 |  |
         private Datamodel datamodel;
50 |  |
51 |  |
         /**
52 |  |
          * The parent of this transition target (may be null, if the parent
53 |  |
          * is the SCXML document root).
54 |  |
          */
55 |  |
         private TransitionTarget parent;
56 |  |
57 |  |
         /**
58 |  |
          * Constructor.
59 |  |
          */
60 |  |
         public TransitionTarget() {
61 | 452 |
             super();
62 | 452 |
             onEntry = new OnEntry(); //empty defaults
63 | 452 |
             onEntry.setParent(this);
64 | 452 |
             onExit = new OnExit();   //empty defaults
65 | 452 |
             onExit.setParent(this);
66 | 452 |
             parent = null;
67 | 452 |
         }
68 |  |
69 |  |
         /**
70 |  |
          * Get the identifier for this transition target (may be null).
71 |  |
          *
72 |  |
          * @return Returns the id.
73 |  |
          */
74 |  |
         public final String getId() {
75 | 1168 |
             return id;
76 |  |
         }
77 |  |
78 |  |
         /**
79 |  |
          * Set the identifier for this transition target.
80 |  |
          *
81 |  |
          * @param id The id to set.
82 |  |
          */
83 |  |
         public final void setId(final String id) {
84 | 336 |
             this.id = id;
85 | 336 |
         }
86 |  |
87 |  |
         /**
88 |  |
          * Get the onentry property.
89 |  |
          *
90 |  |
          * @return Returns the onEntry.
91 |  |
          */
92 |  |
         public final OnEntry getOnEntry() {
93 | 507 |
             return onEntry;
94 |  |
         }
95 |  |
96 |  |
         /**
97 |  |
          * Set the onentry property.
98 |  |
          *
99 |  |
          * @param onEntry The onEntry to set.
100 |  |
          */
101 |  |
         public final void setOnEntry(final OnEntry onEntry) {
102 | 63 |
             this.onEntry = onEntry;
103 | 63 |
         }
104 |  |
105 |  |
         /**
106 |  |
          * Get the onexit property.
107 |  |
          *
108 |  |
          * @return Returns the onExit.
109 |  |
          */
110 |  |
         public final OnExit getOnExit() {
111 | 414 |
             return onExit;
112 |  |
         }
113 |  |
114 |  |
         /**
115 |  |
          * Set the onexit property.
116 |  |
          *
117 |  |
          * @param onExit The onExit to set.
118 |  |
          */
119 |  |
         public final void setOnExit(final OnExit onExit) {
120 | 38 |
             this.onExit = onExit;
121 | 38 |
         }
122 |  |
123 |  |
         /**
124 |  |
          * Get the data model for this transition target.
125 |  |
          *
126 |  |
          * @return Returns the data model.
127 |  |
          */
128 |  |
         public final Datamodel getDatamodel() {
129 | 234 |
             return datamodel;
130 |  |
         }
131 |  |
132 |  |
         /**
133 |  |
          * Set the data model for this transition target.
134 |  |
          *
135 |  |
          * @param datamodel The Datamodel to set.
136 |  |
          */
137 |  |
         public final void setDatamodel(final Datamodel datamodel) {
138 | 38 |
             this.datamodel = datamodel;
139 | 38 |
         }
140 |  |
141 |  |
         /**
142 |  |
          * Get the parent TransitionTarget.
143 |  |
          *
144 |  |
          * @return Returns the parent state
145 |  |
          * (null if parent is &lt;scxml&gt; element)
146 |  |
          */
147 |  |
         public final TransitionTarget getParent() {
148 | 4180 |
             return parent;
149 |  |
         }
150 |  |
151 |  |
         /**
152 |  |
          * Set the parent TransitionTarget.
153 |  |
          *
154 |  |
          * @param parent The parent state to set
155 |  |
          */
156 |  |
         public final void setParent(final TransitionTarget parent) {
157 | 295 |
             this.parent = parent;
158 | 295 |
         }
159 |  |
160 |  |
         /**
161 |  |
          * Get the parent State.
162 |  |
          *
163 |  |
          * @return The parent State
164 |  |
          */
165 |  |
         public final State getParentState() {
166 | 474 |
             TransitionTarget tt = this.getParent();
167 | 474 |
             if (tt == null) {
168 | 270 |
                 return null;
169 |  |
             } else {
170 | 204 |
                 if (tt instanceof State) {
171 | 185 |
                     return (State) tt;
172 |  |
                 } else { //tt is Parallel
173 | 19 |
                     return tt.getParentState();
174 |  |
                 }
175 |  |
             }
176 |  |
         }
177 |  |
178 |  |
     }
179 |  |