org.robokind.api.messaging
Class DefaultMessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>

java.lang.Object
  extended by org.robokind.api.messaging.DefaultMessageSender<Msg,Rec,L>
Type Parameters:
Msg - type of Message capable of sending
Rec - type of Record which is sent
L - type of Listener notified
All Implemented Interfaces:
MessageSender<Msg,Rec,L>

public class DefaultMessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
extends Object
implements MessageSender<Msg,Rec,L>

Default MessageSender implementation.

Author:
Matthew Stevenson

Field Summary
protected  RecordSender<Rec> myRecordSender
          RecordSender used to send Records.
 
Constructor Summary
DefaultMessageSender()
          Creates an empty DefaultMessageSender.
 
Method Summary
 void addMessageListener(L listener)
          Adds a Listener to be notified when a Message has been sent.
protected  void fireMessageEvent(Msg message)
          Notifies listeners of a Message being sent.
 void removeMessageListener(L listener)
          Removes a Listener from being notified.
 void sendMessage(Msg message)
          Sends the given Message.
 void setAdapter(org.robokind.api.common.utils.Adapter<Msg,Rec> adapter)
          Sets the Adapter used to convert Messages to Records.
 void setRecordSender(RecordSender<Rec> sender)
          Sets the RecordSender responsible for sending Records.
 void start()
          Initializes and connects the MessageSender, making it ready to send Messages.
 void stop()
          Stops the MessageSender, making it unable to send Messages.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myRecordSender

protected RecordSender<Rec> myRecordSender
RecordSender used to send Records. This is set using the setRecordSender method.

Constructor Detail

DefaultMessageSender

public DefaultMessageSender()
Creates an empty DefaultMessageSender.

Method Detail

setRecordSender

public void setRecordSender(RecordSender<Rec> sender)
Description copied from interface: MessageSender
Sets the RecordSender responsible for sending Records.

Specified by:
setRecordSender in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Parameters:
sender - the RecordSender to set

setAdapter

public void setAdapter(org.robokind.api.common.utils.Adapter<Msg,Rec> adapter)
Description copied from interface: MessageSender
Sets the Adapter used to convert Messages to Records.

Specified by:
setAdapter in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Parameters:
adapter - the Adapter to set

start

public void start()
           throws Exception
Description copied from interface: MessageSender
Initializes and connects the MessageSender, making it ready to send Messages.

Specified by:
start in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Throws:
Exception - if there is an error starting

stop

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

Specified by:
stop in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>

sendMessage

public void sendMessage(Msg message)
Description copied from interface: MessageSender
Sends the given Message.

Specified by:
sendMessage in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Parameters:
message - the Message to send

fireMessageEvent

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

Parameters:
message - Message being sent

addMessageListener

public void addMessageListener(L listener)
Description copied from interface: MessageSender
Adds a Listener to be notified when a Message has been sent.

Specified by:
addMessageListener in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Parameters:
listener - the Listener to be notified

removeMessageListener

public void removeMessageListener(L listener)
Description copied from interface: MessageSender
Removes a Listener from being notified.

Specified by:
removeMessageListener in interface MessageSender<Msg,Rec,L extends org.robokind.api.common.utils.Listener<Msg>>
Parameters:
listener - the Listener to remove


Copyright © 2011. All Rights Reserved.