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  import java.util.Collection;
    20
    21  import org.apache.commons.logging.Log;
    22  import org.apache.commons.scxml.ErrorReporter;
    23  import org.apache.commons.scxml.EventDispatcher;
    24  import org.apache.commons.scxml.SCInstance;
    25  import org.apache.commons.scxml.SCXMLExpressionException;
    26  import org.apache.commons.scxml.TriggerEvent;
    27
    28  /***
    29   * The class in this SCXML object model that corresponds to the
    30   * &lt;event&gt; SCXML element.
    31   *
    32   * @since 0.7
    33   */
    34  public class Event extends Action {
    35
    36      /***
    37       * Serial version UID.
    38       */
    39      private static final long serialVersionUID = 1L;
    40
    41      /***
    42       * The name of the derived event to be generated.
    43       */
    44      private String name;
    45
    46      /***
    47       * Constructor.
    48       */
    49      public Event() {
    50          super();
    51      }
    52
    53      /***
    54       * Get the event name.
    55       *
    56       * @return Returns the name.
    57       */
    58      public final String getName() {
    59          return name;
    60      }
    61
    62      /***
    63       * Set the event name.
    64       *
    65       * @param name The event name to set.
    66       */
    67      public final void setName(final String name) {
    68          this.name = name;
    69      }
    70
    71      /***
    72       * {@inheritDoc}
    73       */
    74      public void execute(final EventDispatcher evtDispatcher,
    75              final ErrorReporter errRep, final SCInstance scInstance,
    76              final Log appLog, final Collection derivedEvents)
    77      throws ModelException, SCXMLExpressionException {
    78
    79          if (appLog.isDebugEnabled()) {
    80              appLog.debug("<event>: Adding event named '" + name
    81                  + "' to list of derived events.");
    82          }
    83          TriggerEvent ev = new TriggerEvent(name, TriggerEvent.SIGNAL_EVENT);
    84          derivedEvents.add(ev);
    85
    86      }
    87
    88  }
    89