1 /* 2 * This file is part of Waarp Project (named also Waarp or GG). 3 * 4 * Copyright (c) 2019, Waarp SAS, 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 Waarp Project is free software: you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or (at your 11 * option) any later version. 12 * 13 * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY 14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 15 * A PARTICULAR PURPOSE. See the GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License along with 18 * Waarp . If not, see <http://www.gnu.org/licenses/>. 19 */ 20 package org.waarp.common.state; 21 22 import java.util.EnumSet; 23 24 /** 25 * Transition object that joins one state and one set of acceptable following 26 * states <br> 27 * <br> 28 * Note: the type EnumSet< ? > is in fact of type EnumSet< EnumState > 29 */ 30 public class Transition<E extends Enum<E>> { 31 32 private E state; 33 private EnumSet<E> set; 34 35 public Transition(final E state, final EnumSet<E> set) { 36 setState(state); 37 setSet(set); 38 } 39 40 /** 41 * @return the state 42 */ 43 public final E getState() { 44 return state; 45 } 46 47 /** 48 * @param state the state to set 49 */ 50 public final void setState(final E state) { 51 this.state = state; 52 } 53 54 /** 55 * @return the set 56 */ 57 public final EnumSet<E> getSet() { 58 return set; 59 } 60 61 /** 62 * @param set the set to set 63 */ 64 public final void setSet(final EnumSet<E> set) { 65 this.set = set; 66 } 67 }