com.retrogui.messageserver.client
Class MessageClient

java.lang.Object
  extended bycom.retrogui.messageserver.client.MessageClient
All Implemented Interfaces:
ISessionControl

public class MessageClient
extends java.lang.Object
implements ISessionControl

Message client. A default serializer-encoder that uses Java serialization and base64 encoding is provided and can be overridden.


Constructor Summary
MessageClient(java.lang.String host, int port)
          Constructor
 
Method Summary
 void connect()
          Method
 void disconnect()
          disconnect
 Message getMessage(boolean blockUntilMessage)
          get a message.
 IMessageEncoder getMessageEncoder()
           
 IMessageSerializer getMessageSerializer()
           
 Session getSession()
          getter
 boolean isSendAndReceiveMessages()
          getter
 void sendMessage(Message msg)
          send a message.
 void setMessageEncoder(IMessageEncoder messageEncoder)
           
 void setMessageSerializer(IMessageSerializer messageSerializer)
           
 void setSendAndReceiveMessages(boolean isSendAndReceiveMessages)
          setter - set to false to prevent messages from being sent or received.
protected  void setSession(Session session)
          setter
 void setSocketFactory(javax.net.SocketFactory factory)
          setter to using an alternate (SSL) socket factory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageClient

public MessageClient(java.lang.String host,
                     int port)
Constructor

Parameters:
host -
port -
See Also:
Method Detail

connect

public void connect()
             throws java.net.UnknownHostException,
                    java.io.IOException,
                    java.security.GeneralSecurityException
Method

Throws:
java.net.UnknownHostException
java.io.IOException
java.security.GeneralSecurityException
See Also:

sendMessage

public void sendMessage(Message msg)
                 throws SessionException
send a message. convenience method that wraps Session.sendMessage()

Parameters:
msg - - a message
Throws:
SessionException

getMessage

public Message getMessage(boolean blockUntilMessage)
                   throws SessionException
get a message. convenience method that wraps Session.getMessage()

Parameters:
blockUntilMessage - - if true then method blocks until a message arrives. if false then the method will immediately with either a message object or null
Returns:
- a message object (or null)
Throws:
SessionException

disconnect

public void disconnect()
disconnect


setSocketFactory

public void setSocketFactory(javax.net.SocketFactory factory)
setter to using an alternate (SSL) socket factory


setSession

protected void setSession(Session session)
setter

Parameters:
session -

getSession

public Session getSession()
getter

Returns:

setSendAndReceiveMessages

public void setSendAndReceiveMessages(boolean isSendAndReceiveMessages)
Description copied from interface: ISessionControl
setter - set to false to prevent messages from being sent or received. Usually done prior to a shutdown. This flag controls whether the Session sendMessage() and getMessage() function and the flag does not cause the queues to stop. If this flag is set to false for long enough then the queues may grow excessively large and you'll run out of memory.

Specified by:
setSendAndReceiveMessages in interface ISessionControl
Parameters:
isSendAndReceiveMessages -

isSendAndReceiveMessages

public boolean isSendAndReceiveMessages()
Description copied from interface: ISessionControl
getter

Specified by:
isSendAndReceiveMessages in interface ISessionControl
Returns:

setMessageSerializer

public void setMessageSerializer(IMessageSerializer messageSerializer)
Parameters:
messageSerializer - The messageSerializer to set.

getMessageSerializer

public IMessageSerializer getMessageSerializer()
Specified by:
getMessageSerializer in interface ISessionControl
Returns:
Returns the messageSerializer.

setMessageEncoder

public void setMessageEncoder(IMessageEncoder messageEncoder)
Parameters:
messageEncoder - The messageEncoder to set.

getMessageEncoder

public IMessageEncoder getMessageEncoder()
Specified by:
getMessageEncoder in interface ISessionControl
Returns:
Returns the messageEncoder.