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
16
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 }