View Javadoc

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