Java
Messenger
定义消息传递器的契约,能够在由令牌标识的各个通道上发送消息以及订阅/取消订阅接收者。
- Type:
interface - Package:
com.euonia.bus.messenger - Author: damon(zhaorong@outlook.com)
- See:
StrongReferenceMessenger,WeakReferenceMessenger
Fields¶
| Name | Type | Modifiers | Description |
|---|---|---|---|
DEFAULT_CHANNEL |
String |
(implicit public static final) |
默认通道令牌。当不需要指定通道时使用此令牌(空字符串)。 |
Methods¶
| Name | Return Type | Parameters | Description |
|---|---|---|---|
isRegistered |
<TMessage> boolean |
Object recipient, Class<TMessage> messageType |
检查接收者在默认通道上是否为指定的消息类型注册了处理器。 |
isRegistered |
<TMessage> boolean |
Object recipient, Class<TMessage> messageType, String channel |
检查接收者在指定通道上是否为给定的消息类型注册了处理器。 |
register |
<TRecipient, TMessage> void |
TRecipient recipient, Class<TMessage> messageType, MessageHandler<TRecipient, TMessage> handler |
在默认通道上为接收者注册特定消息类型的处理器。 |
register |
<TRecipient, TMessage> void |
TRecipient recipient, Class<TMessage> messageType, String channel, MessageHandler<TRecipient, TMessage> handler |
在指定通道上为接收者注册特定消息类型的处理器。 |
register |
<TMessage> void |
Recipient<TMessage> recipient, Class<TMessage> messageType |
在默认通道上为实现了 Recipient 的接收者注册消息类型(快速路径)。 |
register |
<TMessage> void |
Recipient<TMessage> recipient, Class<TMessage> messageType, String channel |
在指定通道上为实现了 Recipient 的接收者注册消息类型(快速路径)。 |
send |
<TMessage> TMessage |
TMessage message |
向默认通道上所有已注册的接收者发送消息。 |
send |
<TMessage> TMessage |
TMessage message, String channel |
向指定通道上所有已注册的接收者发送消息。 |
unregisterAll |
void |
Object recipient |
在所有通道上取消注册接收者的所有消息类型。 |
unregisterAll |
void |
Object recipient, String channel |
在指定通道上取消注册接收者的所有消息类型。 |
unregister |
<TMessage> void |
Object recipient, Class<TMessage> messageType |
在默认通道上取消注册接收者的特定消息类型。 |
unregister |
<TMessage> void |
Object recipient, Class<TMessage> messageType, String channel |
在指定通道上取消注册接收者的特定消息类型。 |
cleanup |
void |
— | 对当前消息传递器执行清理。不会取消注册任何接收者,但可能会修剪内部数据结构。 |
reset |
void |
— | 重置消息传递器,取消注册所有接收者。 |