1 /**
2 This file is part of GoldenGate Project (named also GoldenGate or GG).
3
4 Copyright 2009, Frederic Bregier, and individual contributors by the @author
5 tags. See the COPYRIGHT.txt in the distribution for a full listing of
6 individual contributors.
7
8 All GoldenGate Project is free software: you can redistribute it and/or
9 modify it under the terms of the GNU General Public License as published
10 by the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 GoldenGate is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GoldenGate . If not, see <http://www.gnu.org/licenses/>.
20 */
21 package goldengate.common.state.example;
22
23 import goldengate.common.state.Transition;
24
25 import java.util.EnumSet;
26
27 /**
28 * Example of EnumState enum class
29 *
30 * @author Frederic Bregier
31 *
32 */
33 public enum ExampleEnumState {
34 RUNNING, PAUSED, CONFIGURING, RESET, ENDED;
35
36 public enum ExampleTransition {
37 tRUNNING(RUNNING, EnumSet.of(PAUSED, ENDED)),
38 tPAUSED(PAUSED, EnumSet.of(RUNNING, RESET, CONFIGURING)),
39 tENDED(ENDED, EnumSet.of(RESET)),
40 tCONFIGURING(CONFIGURING, EnumSet.of(PAUSED)),
41 tRESET(RESET, EnumSet.of(PAUSED, RESET));
42
43 public Transition<ExampleEnumState> elt;
44 private ExampleTransition(ExampleEnumState state, EnumSet<ExampleEnumState> set) {
45 this.elt = new Transition<ExampleEnumState>(state, set);
46 }
47 }
48
49 }