View Javadoc

1   /*
2    *
3    *   Copyright 2005 The Apache Software Foundation.
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  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   */
18  package org.apache.commons.scxml;
19  
20  import org.apache.commons.scxml.model.Transition;
21  import org.apache.commons.scxml.model.TransitionTarget;
22  
23  /***
24   * Listener interface for observable entities in the SCXML model.
25   * Observable entities include {@link org.apache.commons.scxml.model.SCXML}
26   * instances (subscribe to all entry, exit and transition notifications),
27   * {@link org.apache.commons.scxml.model.State} instances (subscribe to
28   * particular entry and exit notifications) and
29   * {@link org.apache.commons.scxml.model.Transition} instances (subscribe to
30   * particular transitions).
31   *
32   */
33  public interface SCXMLListener {
34  
35      /***
36       * Handle the entry into a TransitionTarget.
37       *
38       * @param state The TransitionTarget entered
39       */
40      void onEntry(TransitionTarget state);
41  
42      /***
43       * Handle the exit out of a TransitionTarget.
44       *
45       * @param state The TransitionTarget exited
46       */
47      void onExit(TransitionTarget state);
48  
49      /***
50       * Handle the transition.
51       *
52       * @param from The source TransitionTarget
53       * @param to The destination TransitionTarget
54       * @param transition The Transition taken
55       */
56      void onTransition(TransitionTarget from, TransitionTarget to,
57              Transition transition);
58  
59  }
60