public class RecordingCommandBus extends Object implements CommandBus
| Constructor and Description |
|---|
RecordingCommandBus() |
| Modifier and Type | Method and Description |
|---|---|
void |
clearCommands()
Clears all the commands recorded by this Command Bus.
|
void |
clearSubscriptions()
Clears all subscribed handlers on this command bus.
|
void |
dispatch(CommandMessage<?> command)
Dispatch the given
command to the CommandHandler subscribed to that type of command. |
<R> void |
dispatch(CommandMessage<?> command,
CommandCallback<R> callback)
Dispatch the given
command to the CommandHandler subscribed to that type of command. |
List<CommandMessage<?>> |
getDispatchedCommands()
Returns a list with all commands that have been dispatched by this command bus.
|
Map<String,CommandHandler<?>> |
getSubscriptions()
Returns a Map will all Command Names and their Command Handler that have been subscribed to this command bus.
|
boolean |
isSubscribed(CommandHandler<?> commandHandler)
Indicates whether the given
commandHandler is subscribed to this command bus. |
<C> boolean |
isSubscribed(String commandName,
CommandHandler<? super C> commandHandler)
Indicates whether the given
commandHandler is subscribed to commands of the given
commandType on this command bus. |
void |
setCallbackBehavior(CallbackBehavior callbackBehavior)
Sets the instance that defines the behavior of the Command Bus when a command is dispatched with a callback.
|
<C> void |
subscribe(String commandName,
CommandHandler<? super C> handler)
Subscribe the given
handler to commands of type commandType. |
<C> boolean |
unsubscribe(String commandName,
CommandHandler<? super C> handler)
Unsubscribe the given
handler to commands of type commandType. |
public void dispatch(CommandMessage<?> command)
CommandBuscommand to the CommandHandler subscribed to that type of command.
No
feedback is given about the status of the dispatching process. Implementations may return immediately after
asserting a valid handler is registered for the given command.dispatch in interface CommandBuscommand - The Command to dispatchGenericCommandMessage.asCommandMessage(Object)public <R> void dispatch(CommandMessage<?> command, CommandCallback<R> callback)
CommandBuscommand to the CommandHandler subscribed to that type of command.
When the command is processed, on of the callback methods is called, depending on the result of the processing.
When the method returns, the only guarantee provided by the CommandBus implementation, is that the command has
been successfully received. Implementations are highly recommended to perform basic validation of the command
before returning from this method call.
Implementations must start a UnitOfWork when before dispatching the command, and either commit or rollback after
a successful or failed execution, respectively.dispatch in interface CommandBusR - The type of the expected resultcommand - The Command to dispatchcallback - The callback to invoke when command processing is completeGenericCommandMessage.asCommandMessage(Object)public <C> void subscribe(String commandName, CommandHandler<? super C> handler)
CommandBushandler to commands of type commandType.
If a subscription already exists for the given type, the behavior is undefined. Implementations may throw an
Exception to refuse duplicate subscription or alternatively decide whether the existing or new
handler gets the subscription.subscribe in interface CommandBusC - The Type of commandcommandName - The name of the command to subscribe the handler tohandler - The handler instance that handles the given type of commandpublic <C> boolean unsubscribe(String commandName, CommandHandler<? super C> handler)
CommandBushandler to commands of type commandType. If the handler is not
currently assigned to that type of command, no action is taken.unsubscribe in interface CommandBusC - The Type of commandcommandName - The name of the command the handler is subscribed tohandler - The handler instance to unsubscribe from the CommandBustrue of this handler is successfully unsubscribed, false of the given
handler was not the current handler for given commandType.public void clearCommands()
public void clearSubscriptions()
public boolean isSubscribed(CommandHandler<?> commandHandler)
commandHandler is subscribed to this command bus.commandHandler - The command handler to verify the subscription fortrue if the handler is subscribed, otherwise false.public <C> boolean isSubscribed(String commandName, CommandHandler<? super C> commandHandler)
commandHandler is subscribed to commands of the given
commandType on this command bus.C - The type of command to verify the subscription forcommandName - The name of the command to verify the subscription forcommandHandler - The command handler to verify the subscription fortrue if the handler is subscribed, otherwise false.public Map<String,CommandHandler<?>> getSubscriptions()
public List<CommandMessage<?>> getDispatchedCommands()
public void setCallbackBehavior(CallbackBehavior callbackBehavior)
callbackBehavior - The instance deciding to how the callback should be invoked.Copyright © 2010-2014. All Rights Reserved.