View Javadoc

    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  /***
    20   * The class in this SCXML object model that corresponds to the
    21   * &lt;history&gt; 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          this.transition.setParent(this);
    67      }
    68
    69      /***
    70       * Is this history &quot;deep&quot; (as against &quot;shallow&quot;).
    71       *
    72       * @return Returns whether this is a &quot;deep&quot; history
    73       */
    74      public final boolean isDeep() {
    75          return isDeep;
    76      }
    77
    78      /***
    79       * This method is invoked by XML digester when parsing SCXML markup.
    80       *
    81       * @param type The history type, which can be &quot;shallow&quot; or
    82       * &quot;deep&quot;
    83       */
    84      public final void setType(final String type) {
    85          if (type.equals("deep")) {
    86              isDeep = true;
    87          }
    88          //shallow is by default
    89      }
    90
    91  }
    92