Package org.astrogrid.samp.hub

# Class HubClient

java.lang.Object
org.astrogrid.samp.hub.HubClient

All Implemented Interfaces:
  `Client`

public class HubClient extends Object implements Client
Represents a client registered with a hub.

Since:
  15 Jul 2008
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`HubClient(String publicId, ProfileToken profileToken)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`CallableClient`
`getCallable()`
Returns the callable object which allows this client to receive callbacks.
`String`
`getId()`
Returns the public identifier for this client.
`Metadata`
`getMetadata()`
Returns the currently declared metadata for this client, if any.
`ProfileToken`
`getProfileToken()`
Returns a token identifying the source of this client's connection to the hub.
`Map`
`getSubscription(String mtype)`
Returns the subscription information for a given MType for this client.
`Subscriptions`
`getSubscriptions()`
Returns the currently declared subscriptions for this client, if any.
`boolean`
`isCallable()`
Indicates whether this client is callable.
`boolean`
`isSubscribed(String mtype)`
Indicates whether this client is subscribed to a given MType.
`void`
`setCallable(CallableClient callable)`
Sets the callable object which allows this client to receive callbacks.
`void`
`setMetadata(Map meta)`
Sets this client's metadata map.
`void`
`setSubscriptions(Map subs)`
Sets this client's subscriptions list.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### HubClient

public HubClient(String publicId, ProfileToken profileToken)
Constructor.

Parameters:
  `publicId` - client public ID
  `profileToken` - identifier for the source of the hub connection

## Method Details

### getId

public String getId()
Description copied from interface: `Client`
Returns the public identifier for this client.

Specified by:
  `getId` in interface `Client`
Returns:
  public id

### getMetadata

public Metadata getMetadata()
Description copied from interface: `Client`
Returns the currently declared metadata for this client, if any.

Specified by:
  `getMetadata` in interface `Client`
Returns:
  metadata object; may be null

### getSubscriptions

public Subscriptions getSubscriptions()
Description copied from interface: `Client`
Returns the currently declared subscriptions for this client, if any.

Specified by:
  `getSubscriptions` in interface `Client`
Returns:
  subscriptions object; may be null

### getProfileToken

public ProfileToken getProfileToken()
Returns a token identifying the source of this client's connection to the hub.

Returns:
  profile token

### setMetadata

public void setMetadata(Map meta)
Sets this client's metadata map.

Parameters:
  `meta` - metadata map

### setSubscriptions

public void setSubscriptions(Map subs)
Sets this client's subscriptions list.

Parameters:
  `subs` - subscriptions map

### isSubscribed

public boolean isSubscribed(String mtype)
Indicates whether this client is subscribed to a given MType.

Parameters:
  `mtype` - MType
Returns:
  true iff subscribed to MType

### getSubscription

public Map getSubscription(String mtype)
Returns the subscription information for a given MType for this client.

Parameters:
  `mtype` - MType
Returns:
  subscriptions map value for key `mtype`, or null if not subscribed

### setCallable

public void setCallable(CallableClient callable)
Sets the callable object which allows this client to receive callbacks. If null is used, a no-op callable object is installed.

Parameters:
  `callable` - new callable interface, or null

### getCallable

public CallableClient getCallable()
Returns the callable object which allows this client to receive callbacks. It is never null.

Returns:
  callable object

### isCallable

public boolean isCallable()
Indicates whether this client is callable.

Returns:
  true iff this client has a non-useless callback handler installed

### toString

public String toString()

Overrides:
  `toString` in class `Object`