cz.cuni.amis.pogamut.ut2004.communication.translator.observer.support
Class ObserverMessageExpectedState<CONTEXT extends TranslatorContext>

java.lang.Object
  extended by cz.cuni.amis.pogamut.ut2004.communication.translator.observer.support.AbstractObserverFSMState<InfoMessage,CONTEXT>
      extended by cz.cuni.amis.pogamut.ut2004.communication.translator.observer.support.ObserverMessageExpectedState<CONTEXT>
Type Parameters:
CONTEXT -
All Implemented Interfaces:
IFSMState<InfoMessage,CONTEXT>
Direct Known Subclasses:
HelloObserverExpectedState

public abstract class ObserverMessageExpectedState<CONTEXT extends TranslatorContext>
extends AbstractObserverFSMState<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
ObserverMessageExpectedState(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.observer.support.AbstractObserverFSMState
stateSymbol, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ObserverMessageExpectedState

public ObserverMessageExpectedState(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 AbstractObserverFSMState<InfoMessage,CONTEXT extends TranslatorContext>