cz.cuni.amis.pogamut.ut2004.communication.translator.server.support
Class ServerMessageExpectedState<CONTEXT extends TranslatorContext>

java.lang.Object
  extended by cz.cuni.amis.pogamut.ut2004.communication.translator.server.support.AbstractServerFSMState<InfoMessage,CONTEXT>
      extended by cz.cuni.amis.pogamut.ut2004.communication.translator.server.support.ServerMessageExpectedState<CONTEXT>
Type Parameters:
CONTEXT -
All Implemented Interfaces:
IFSMState<InfoMessage,CONTEXT>
Direct Known Subclasses:
HelloControlServerExpectedState

public abstract class ServerMessageExpectedState<CONTEXT extends TranslatorContext>
extends AbstractServerFSMState<InfoMessage,CONTEXT>

Used to check the message that is used to leave the state.

All other messages are considered as the violation of the protocol -> throws UnexpectedMessageException.


Constructor Summary
ServerMessageExpectedState(java.lang.Class expectedMessage)
           
 
Method Summary
 void init(CONTEXT context)
           
protected  void innerStateSymbol(CONTEXT context, InfoMessage symbol)
           
 void restart(CONTEXT context)
           
 void stateEntering(CONTEXT context, IFSMState<InfoMessage,CONTEXT> fromState, InfoMessage symbol)
           
 void stateLeaving(CONTEXT context, IFSMState<InfoMessage,CONTEXT> toState, InfoMessage symbol)
           
 
Methods inherited from class cz.cuni.amis.pogamut.ut2004.communication.translator.server.support.AbstractServerFSMState
stateSymbol, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ServerMessageExpectedState

public ServerMessageExpectedState(java.lang.Class expectedMessage)
Parameters:
expectedMessage - message that triggers the switch to another state
Method Detail

init

public void init(CONTEXT context)

restart

public void restart(CONTEXT context)

stateEntering

public void stateEntering(CONTEXT context,
                          IFSMState<InfoMessage,CONTEXT> fromState,
                          InfoMessage symbol)

stateLeaving

public void stateLeaving(CONTEXT context,
                         IFSMState<InfoMessage,CONTEXT> toState,
                         InfoMessage symbol)

innerStateSymbol

protected void innerStateSymbol(CONTEXT context,
                                InfoMessage symbol)
Specified by:
innerStateSymbol in class AbstractServerFSMState<InfoMessage,CONTEXT extends TranslatorContext>