org.robokind.api.messaging
Class DefaultMessageAsyncReceiver<Msg,Rec>

java.lang.Object
  extended by org.robokind.api.messaging.DefaultMessageAsyncReceiver<Msg,Rec>
Type Parameters:
Msg - type of Message received
Rec - type of underlying Record received
All Implemented Interfaces:
org.jflux.api.core.Notifier<Msg>, MessageAsyncReceiver<Msg>

public class DefaultMessageAsyncReceiver<Msg,Rec>
extends Object
implements MessageAsyncReceiver<Msg>

Default MessageAsyncReceiver implementation. Uses a RecordAdapterHandler as a RecordHandler to passes Records to an Adapter for deserialization.

Author:
Matthew Stevenson

Constructor Summary
DefaultMessageAsyncReceiver()
          Creates an empty DefaultMessageAsyncReceiver.
 
Method Summary
 void addListener(org.jflux.api.core.Listener<Msg> listener)
          Adds a Listener to be notified when a Message has been received.
protected  void fireMessageEvent(Msg message)
          Notifies listeners of a Message
 void notifyListeners(Msg e)
           
 void pause()
          Pauses a MessageAsyncReceiver.
 void removeListener(org.jflux.api.core.Listener<Msg> listener)
          Removes a Listener from being notified.
 void resume()
          Resumes a paused MessageAsyncReceiver.
 void setAdapter(org.jflux.api.core.Adapter<Rec,Msg> adapter)
          Sets the Adapter used to convert Records to Messages.
 void setRecordReceiver(RecordAsyncReceiver<Rec> service)
          Sets the RecordAsyncReceiver used to receive Records.
 void start()
          Initializes and connects the MessageAsyncReceiver, and begins receiving Messages.
 void stop()
          Stops the MessageAsyncReceiver, making it unable to receive Messages.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultMessageAsyncReceiver

public DefaultMessageAsyncReceiver()
Creates an empty DefaultMessageAsyncReceiver.

Method Detail

setRecordReceiver

public void setRecordReceiver(RecordAsyncReceiver<Rec> service)
Sets the RecordAsyncReceiver used to receive Records.

Parameters:
service - theRecordReceiver to set

setAdapter

public void setAdapter(org.jflux.api.core.Adapter<Rec,Msg> adapter)
Sets the Adapter used to convert Records to Messages.

Parameters:
adapter - the Adapter to set

start

public void start()
           throws Exception
Description copied from interface: MessageAsyncReceiver
Initializes and connects the MessageAsyncReceiver, and begins receiving Messages.

Specified by:
start in interface MessageAsyncReceiver<Msg>
Throws:
Exception - if there is an error starting

pause

public void pause()
Description copied from interface: MessageAsyncReceiver
Pauses a MessageAsyncReceiver.

Specified by:
pause in interface MessageAsyncReceiver<Msg>

resume

public void resume()
Description copied from interface: MessageAsyncReceiver
Resumes a paused MessageAsyncReceiver.

Specified by:
resume in interface MessageAsyncReceiver<Msg>

stop

public void stop()
Description copied from interface: MessageAsyncReceiver
Stops the MessageAsyncReceiver, making it unable to receive Messages.

Specified by:
stop in interface MessageAsyncReceiver<Msg>

fireMessageEvent

protected void fireMessageEvent(Msg message)
Notifies listeners of a Message

Parameters:
message -

addListener

public void addListener(org.jflux.api.core.Listener<Msg> listener)
Description copied from interface: MessageAsyncReceiver
Adds a Listener to be notified when a Message has been received.

Specified by:
addListener in interface org.jflux.api.core.Notifier<Msg>
Specified by:
addListener in interface MessageAsyncReceiver<Msg>
Parameters:
listener - the Listener to be notified

removeListener

public void removeListener(org.jflux.api.core.Listener<Msg> listener)
Description copied from interface: MessageAsyncReceiver
Removes a Listener from being notified.

Specified by:
removeListener in interface org.jflux.api.core.Notifier<Msg>
Specified by:
removeListener in interface MessageAsyncReceiver<Msg>
Parameters:
listener - the Listener to remove

notifyListeners

public void notifyListeners(Msg e)
Specified by:
notifyListeners in interface org.jflux.api.core.Notifier<Msg>


Copyright © 2011-2013. All Rights Reserved.