Package org.astrogrid.samp.gui

# Class MessageTrackerHubConnector

java.lang.Object
org.astrogrid.samp.client.HubConnector
org.astrogrid.samp.gui.GuiHubConnector
org.astrogrid.samp.gui.MessageTrackerHubConnector

public class MessageTrackerHubConnector extends GuiHubConnector
HubConnector implementation which provides facilities for keeping track of incoming and outgoing messages as well as the other GUI features.

Since:
  26 Nov 2008
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`MessageTrackerHubConnector(ClientProfile profile)`
Constructs a hub connector with default message tracker GUI expiry times.
`MessageTrackerHubConnector(ClientProfile profile, int listRemoveDelay, int tableRemoveDelay, int tableMaxRows)`
Constructs a hub connector with specified message tracker GUI expiry times.

## Method Summary

Modifier and Type
Method
Description
`ListCellRenderer`
`createClientListCellRenderer()`
Returns a list cell renderer suitable for use with the client list model returned by `GuiHubConnector.getClientListModel()`.
`protected HubConnection`
`createConnection()`
Invoked by this class to create a hub connection.
`JComponent`
`createMessageBox(int iconSize)`
Returns a component which displays messages currently being sent/received by this connector.
`static JComponent`
`createMessageBox(int iconSize, ListModel rxListModel, ListModel txListModel)`
Returns a component which displays messages in receiver and/or sender list models.
`JComponent`
`createMonitorPanel()`
Returns a new component which displays status for this connector.
`ListModel`
`getRxListModel()`
Returns a ListModel representing the pending messages received using this connector.
`ListModel`
`getRxListModel(Client client)`
`ListModel`
`getTxListModel()`
Returns a ListModel representing the pending messages sent using this connector.
`ListModel`
`getTxListModel(Client client)`

### Methods inherited from class org.astrogrid.samp.gui.GuiHubConnector

`addConnectionListener, connectionChanged, createClientBox, createConnectionIndicator, createConnectionIndicator, createHubAction, createRegisterAction, createRegisterOrHubAction, createShowMonitorAction, createToggleRegisterAction, createUnregisterAction, getClientListModel, removeConnectionListener`

### Methods inherited from class org.astrogrid.samp.client.HubConnector

`addMessageHandler, addResponseHandler, call, callAll, callAndWait, computeSubscriptions, configureConnection, createTag, declareMetadata, declareSubscriptions, disconnect, getClientMap, getClientSet, getConnection, getMetadata, getSubscriptions, isActive, isConnected, removeMessageHandler, removeResponseHandler, setActive, setAutoconnect`

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

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

## Constructor Details

### MessageTrackerHubConnector

public MessageTrackerHubConnector(ClientProfile profile)
Constructs a hub connector with default message tracker GUI expiry times.

Parameters:
  `profile` - profile implementation

### MessageTrackerHubConnector

public MessageTrackerHubConnector(ClientProfile profile, int listRemoveDelay, int tableRemoveDelay, int tableMaxRows)
Constructs a hub connector with specified message tracker GUI expiry times. The delay times are times in milliseconds after message resolution before message representations expire and hence remove themselves from gui components.

Parameters:
  `profile` - profile implementation
  `listRemoveDelay` - expiry delay for summary icons in client list display
  `tableRemoveDelay` - expiry delay for rows in message table display
  `tableMaxRows` - maximum number of rows in message table (beyond this limit resolved messages may be removed early)

## Method Details

### getTxListModel

public ListModel getTxListModel()
Returns a ListModel representing the pending messages sent using this connector. Elements of the model are `Transmission` objects.

Returns:
  transmission list model

### getRxListModel

public ListModel getRxListModel()
Returns a ListModel representing the pending messages received using this connector. Elements of the model are `Transmission` objects.

Returns:
  transmission list model

### getTxListModel

public ListModel getTxListModel(Client client)

### getRxListModel

public ListModel getRxListModel(Client client)

### createMessageBox

public JComponent createMessageBox(int iconSize)
Returns a component which displays messages currently being sent/received by this connector.

Returns:
  iconSize height of icons in box

### createMessageBox

public static JComponent createMessageBox(int iconSize, ListModel rxListModel, ListModel txListModel)
Returns a component which displays messages in receiver and/or sender list models.

Parameters:
  `iconSize` - height of icons
  `rxListModel` - list model containing received `Transmission` objects
  `txListModel` - list model containing sent `Transmission` objects

### createClientListCellRenderer

public ListCellRenderer createClientListCellRenderer()
Description copied from class: `GuiHubConnector`
Returns a list cell renderer suitable for use with the client list model returned by `GuiHubConnector.getClientListModel()`.

Overrides:
  `createClientListCellRenderer` in class `GuiHubConnector`
Returns:
  list cell renderer for Client objects

### createMonitorPanel

public JComponent createMonitorPanel()
Description copied from class: `GuiHubConnector`
Returns a new component which displays status for this connector.

Overrides:
  `createMonitorPanel` in class `GuiHubConnector`
Returns:
  new hub connection monitor component

### createConnection

protected HubConnection createConnection() throws SampException
Description copied from class: `HubConnector`
Invoked by this class to create a hub connection. The default implementation just calls `profile.register()`.

Overrides:
  `createConnection` in class `HubConnector`
Returns:
  new hub connection
Throws:
  `SampException`