Package com.biglybt.ui.swt.browser.msg
Class MessageDispatcherSWT
- java.lang.Object
-
- com.biglybt.ui.swt.browser.msg.MessageDispatcherSWT
-
- All Implemented Interfaces:
BrowserMessageDispatcher
public class MessageDispatcherSWT extends java.lang.Object implements BrowserMessageDispatcher
Dispatches messages to listeners registered with unique IDs.
-
-
Field Summary
Fields Modifier and Type Field Description private BrowserWrapper
browser
private BrowserWrapper.BrowserFunction
browserFunction
private ClientMessageContext
context
private java.util.Map<java.lang.String,BrowserMessageListener>
listeners
-
Constructor Summary
Constructors Constructor Description MessageDispatcherSWT(ClientMessageContext context)
Registers itself as a listener to receive sequence number reset message.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(BrowserMessageListener listener)
Registers the given listener for the given ID.void
deregisterBrowser(BrowserWrapper browser)
Detaches this dispatcher from the givenBrowser
.void
dispatch(BrowserMessage message)
Dispatches the given message to the appropriate listener.BrowserMessageListener
getListener(java.lang.String id)
Returns the listener with the given ID.void
registerBrowser(BrowserWrapper browser)
void
removeListener(BrowserMessageListener listener)
Deregisters the listener with the given ID.void
removeListener(java.lang.String id)
Deregisters the listener with the given ID.
-
-
-
Field Detail
-
context
private ClientMessageContext context
-
listeners
private java.util.Map<java.lang.String,BrowserMessageListener> listeners
-
browser
private BrowserWrapper browser
-
browserFunction
private BrowserWrapper.BrowserFunction browserFunction
-
-
Constructor Detail
-
MessageDispatcherSWT
public MessageDispatcherSWT(ClientMessageContext context)
Registers itself as a listener to receive sequence number reset message.
-
-
Method Detail
-
registerBrowser
public void registerBrowser(BrowserWrapper browser)
-
deregisterBrowser
public void deregisterBrowser(BrowserWrapper browser)
Detaches this dispatcher from the givenBrowser
. This dispatcher listens for dispose events from the browser and calls this method in response.- Parameters:
browser
-Browser
which will no longer send messages
-
addListener
public void addListener(BrowserMessageListener listener)
Registers the given listener for the given ID.- Specified by:
addListener
in interfaceBrowserMessageDispatcher
- Parameters:
id
- unique identifier used when dispatching messageslistener
- receives messages targetted at the given ID- Throws:
java.lang.IllegalStateException
- if another listener is already registered under the same ID
-
removeListener
public void removeListener(BrowserMessageListener listener)
Deregisters the listener with the given ID.- Specified by:
removeListener
in interfaceBrowserMessageDispatcher
- Parameters:
id
- unique identifier of the listener to be removed
-
removeListener
public void removeListener(java.lang.String id)
Deregisters the listener with the given ID.- Specified by:
removeListener
in interfaceBrowserMessageDispatcher
- Parameters:
id
- unique identifier of the listener to be removed
-
getListener
public BrowserMessageListener getListener(java.lang.String id)
Description copied from interface:BrowserMessageDispatcher
Returns the listener with the given ID.- Specified by:
getListener
in interfaceBrowserMessageDispatcher
- Parameters:
id
- unique identifier of the listener to be returned- Returns:
- the located listener
-
dispatch
public void dispatch(BrowserMessage message)
Description copied from interface:BrowserMessageDispatcher
Dispatches the given message to the appropriate listener.- Specified by:
dispatch
in interfaceBrowserMessageDispatcher
- Parameters:
message
- holds the listener ID, operation ID and parameters
-
-