KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > groboutils > mbtf > v1 > ITransition


1 /*
2  * @(#)ITransition.java
3  *
4  * Copyright (C) 2002-2003 Matt Albrecht
5  * groboclown@users.sourceforge.net
6  * http://groboutils.sourceforge.net
7  *
8  * Part of the GroboUtils package at:
9  * http://groboutils.sourceforge.net
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included in
19  * all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  */

29 package net.sourceforge.groboutils.mbtf.v1;
30
31
32 /**
33  * Corresponds to a state-machine transition from one state to another.
34  * Transitions must verify that their associated action can be performed
35  * on the current system's state.
36  *
37  * @author Matt Albrecht <a HREF="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
38  * @version $Date: 2003/02/10 22:52:25 $
39  * @since June 12, 2002
40  */

41 public interface ITransition
42 {
43     /**
44      * Retrieves the name for the transition. This should be unique for
45      * state-machine assembly purposes, but it does not have to be.
46      *
47      * @return a non-null name for this transition.
48      */

49     public String JavaDoc getName();
50     
51     
52     /**
53      * Returns the next state if the corresponding action is executed.
54      *
55      * @return destination state, which can never be <tt>null</tt>.
56      */

57     public IState getDestinationState();
58     
59     
60     /**
61      * Returns the action used to transition to the destination state.
62      *
63      * @return transition's action, which can never be <tt>null</tt>.
64      */

65     public IAction getAction();
66     
67     
68     /**
69      * Returns all validation methods used to assert that the system can
70      * perform this transition.
71      *
72      * @return a list of associated validation instances.
73      */

74     public IValidate[] getValidates();
75 }
76
77
Popular Tags