Package org.astrogrid.samp.gui
Class WrapperHubConnection
- java.lang.Object
-
- org.astrogrid.samp.gui.WrapperHubConnection
-
- All Implemented Interfaces:
HubConnection
- Direct Known Subclasses:
MessageTrackerHubConnector.MessageTrackerHubConnection
class WrapperHubConnection extends java.lang.Object implements HubConnection
HubConnection implementation which delegates all behaviour to a base implementation. Intended for subclassing.- Since:
- 24 Nov 2008
- Author:
- Mark Taylor
-
-
Field Summary
Fields Modifier and Type Field Description private HubConnectionbase_
-
Constructor Summary
Constructors Constructor Description WrapperHubConnection(HubConnection base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringcall(java.lang.String recipientId, java.lang.String msgTag, java.util.Map msg)Sends a message to a given client expecting a response.java.util.MapcallAll(java.lang.String msgTag, java.util.Map msg)Sends a message to all subscribed clients expecting responses.ResponsecallAndWait(java.lang.String recipientId, java.util.Map msg, int timeout)Sends a message synchronously to a client, waiting for the response.voiddeclareMetadata(java.util.Map meta)Declares this registered client's metadata.voiddeclareSubscriptions(java.util.Map subs)Declares this registered client's MType subscriptions.MetadatagetMetadata(java.lang.String clientId)Returns the metadata for another registered client.RegInfogetRegInfo()Returns the registration information associated with this connection.java.lang.String[]getRegisteredClients()Returns the list of client public IDs for those clients currently registered.java.util.MapgetSubscribedClients(java.lang.String mtype)Returns a map of subscriptions for a given MType.SubscriptionsgetSubscriptions(java.lang.String clientId)Returns the subscriptions for another registered client.voidnotify(java.lang.String recipientId, java.util.Map msg)Sends a message to a given client without wanting a response.java.util.ListnotifyAll(java.util.Map msg)Sends a message to all subscribed clients without wanting a response.voidping()Tests whether the connection is currently open.voidreply(java.lang.String msgId, java.util.Map response)Supplies a response to a previously received message.voidsetCallable(CallableClient callable)Tells the hub how it can perform callbacks on the client by providing a CallableClient object.voidunregister()Unregisters the client and terminates this connection.
-
-
-
Field Detail
-
base_
private final HubConnection base_
-
-
Constructor Detail
-
WrapperHubConnection
public WrapperHubConnection(HubConnection base)
-
-
Method Detail
-
getRegInfo
public RegInfo getRegInfo()
Description copied from interface:HubConnectionReturns the registration information associated with this connection.- Specified by:
getRegInfoin interfaceHubConnection- Returns:
- registration info
-
setCallable
public void setCallable(CallableClient callable) throws SampException
Description copied from interface:HubConnectionTells the hub how it can perform callbacks on the client by providing a CallableClient object. This is required before the client can declare subscriptions or make asynchronous calls.- Specified by:
setCallablein interfaceHubConnection- Parameters:
callable- callable client- Throws:
SampException
-
ping
public void ping() throws SampExceptionDescription copied from interface:HubConnectionTests whether the connection is currently open.- Specified by:
pingin interfaceHubConnection- Throws:
SampException- if the hub has disappeared or communications are disrupted in some other way
-
unregister
public void unregister() throws SampExceptionDescription copied from interface:HubConnectionUnregisters the client and terminates this connection.- Specified by:
unregisterin interfaceHubConnection- Throws:
SampException
-
declareMetadata
public void declareMetadata(java.util.Map meta) throws SampExceptionDescription copied from interface:HubConnectionDeclares this registered client's metadata.- Specified by:
declareMetadatain interfaceHubConnection- Parameters:
meta-Metadata-like map- Throws:
SampException
-
getMetadata
public Metadata getMetadata(java.lang.String clientId) throws SampException
Description copied from interface:HubConnectionReturns the metadata for another registered client.- Specified by:
getMetadatain interfaceHubConnection- Parameters:
clientId- public id for another registered client- Returns:
- metadata map
- Throws:
SampException
-
declareSubscriptions
public void declareSubscriptions(java.util.Map subs) throws SampExceptionDescription copied from interface:HubConnectionDeclares this registered client's MType subscriptions.Only permitted if this client is already callable.
- Specified by:
declareSubscriptionsin interfaceHubConnection- Parameters:
subs-Subscriptions-like map- Throws:
SampException
-
getSubscriptions
public Subscriptions getSubscriptions(java.lang.String clientId) throws SampException
Description copied from interface:HubConnectionReturns the subscriptions for another registered client.- Specified by:
getSubscriptionsin interfaceHubConnection- Parameters:
clientId- public id for another registered client- Returns:
- subscriptions map
- Throws:
SampException
-
getRegisteredClients
public java.lang.String[] getRegisteredClients() throws SampExceptionDescription copied from interface:HubConnectionReturns the list of client public IDs for those clients currently registered.- Specified by:
getRegisteredClientsin interfaceHubConnection- Returns:
- array of client ids, excluding the one for this client
- Throws:
SampException
-
getSubscribedClients
public java.util.Map getSubscribedClients(java.lang.String mtype) throws SampExceptionDescription copied from interface:HubConnectionReturns a map of subscriptions for a given MType.- Specified by:
getSubscribedClientsin interfaceHubConnection- Parameters:
mtype- MType- Returns:
- map in which the keys are the public IDs of clients subscribed
to
mtype - Throws:
SampException
-
notify
public void notify(java.lang.String recipientId, java.util.Map msg) throws SampExceptionDescription copied from interface:HubConnectionSends a message to a given client without wanting a response.- Specified by:
notifyin interfaceHubConnection- Parameters:
recipientId- public-id of client to receive messagemsg-Message-like map- Throws:
SampException
-
notifyAll
public java.util.List notifyAll(java.util.Map msg) throws SampExceptionDescription copied from interface:HubConnectionSends a message to all subscribed clients without wanting a response.- Specified by:
notifyAllin interfaceHubConnection- Parameters:
msg-Message-like map- Returns:
- list of public-ids for clients to which the notify will be sent
- Throws:
SampException
-
call
public java.lang.String call(java.lang.String recipientId, java.lang.String msgTag, java.util.Map msg) throws SampExceptionDescription copied from interface:HubConnectionSends a message to a given client expecting a response. ThereceiveResponsemethod of this connection'sCallableClientwill be called with a response at some time in the future.Only permitted if this client is already callable.
- Specified by:
callin interfaceHubConnection- Parameters:
recipientId- public-id of client to receive messagemsgTag- arbitrary string tagging this message for caller's benefitmsg-Message-like map- Returns:
- message ID
- Throws:
SampException
-
callAll
public java.util.Map callAll(java.lang.String msgTag, java.util.Map msg) throws SampExceptionDescription copied from interface:HubConnectionSends a message to all subscribed clients expecting responses. ThereceiveResponsemethod of this connection'sCallableClientwill be called with responses at some time in the future.Only permitted if this client is already callable.
- Specified by:
callAllin interfaceHubConnection- Parameters:
msgTag- arbitrary string tagging this message for caller's benefitmsg-Message-like map- Returns:
- public-id->msg-id map for clients to which an attempt to send the call will be made
- Throws:
SampException
-
callAndWait
public Response callAndWait(java.lang.String recipientId, java.util.Map msg, int timeout) throws SampException
Description copied from interface:HubConnectionSends a message synchronously to a client, waiting for the response. If more seconds elapse than the value of thetimeoutparameter, an exception will result.- Specified by:
callAndWaitin interfaceHubConnection- Parameters:
recipientId- public-id of client to receive messagemsg-Message-like maptimeout- timeout in seconds, or <0 for no timeout- Returns:
- response
- Throws:
SampException
-
reply
public void reply(java.lang.String msgId, java.util.Map response) throws SampExceptionDescription copied from interface:HubConnectionSupplies a response to a previously received message.- Specified by:
replyin interfaceHubConnection- Parameters:
msgId- ID associated with earlier sendresponse-Response-like map- Throws:
SampException
-
-