View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.translator.server.state;
2   
3   import cz.cuni.amis.fsm.FSMState;
4   import cz.cuni.amis.fsm.FSMTransition;
5   import cz.cuni.amis.fsm.IFSMState;
6   import cz.cuni.amis.pogamut.base.communication.messages.InfoMessage;
7   import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfoMessage;
8   import cz.cuni.amis.pogamut.ut2004.communication.translator.TranslatorContext;
9   import cz.cuni.amis.pogamut.ut2004.communication.translator.TranslatorMessages;
10  import cz.cuni.amis.pogamut.ut2004.communication.translator.UnexpectedMessageException;
11  import cz.cuni.amis.pogamut.ut2004.communication.translator.server.support.AbstractServerFSMState;
12  import cz.cuni.amis.pogamut.ut2004.communication.translator.shared.transition.GameInfoTransition;
13  
14  /**
15   * State that expects GameInfo message to came - when it receives GameInfo it switches to the HandshakeControllerState.
16   * @author Jimmy
17   */
18  @FSMState(
19  		map={
20  				@FSMTransition(
21  					state=ServerRunningState.class, 
22  					symbol={GameInfoMessage.class}, 
23  					transition={GameInfoTransition.class}
24  				)
25  			}
26  )
27  public class GameInfoExpectedState extends AbstractServerFSMState<InfoMessage, TranslatorContext> {
28  
29  	@Override
30  	public void init(TranslatorContext context) {
31  	}
32  
33  	@Override
34  	public void restart(TranslatorContext context) {
35  	}
36  
37  	@Override
38  	public void stateEntering(TranslatorContext context,
39  			IFSMState<InfoMessage, TranslatorContext> fromState,
40  			InfoMessage symbol) {
41  	}
42  
43  	@Override
44  	public void stateLeaving(TranslatorContext context,
45  			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
46  	}
47  
48  	@Override
49  	protected void innerStateSymbol(TranslatorContext context, InfoMessage symbol) {
50  		throw new UnexpectedMessageException(TranslatorMessages.unexpectedMessage(this, symbol), context.getLogger(), this);
51  	}
52  
53  }