You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2 KiB

package visualiser.Commands.IncomingHeartBeatCommands;
import mock.exceptions.CommandConstructionException;
import mock.model.commandFactory.Command;
import network.Messages.AC35Data;
import network.Messages.HeartBeat;
import visualiser.network.IncomingHeartBeatService;
/**
* Factory to create IncomingHeartBeatService commands.
*/
public class IncomingHeartBeatCommandFactory {
/**
* Generates a command on an IncomingHeartBeatService.
* @param message The message to turn into a command.
* @param incomingHeartBeatService The context for the command to operate on.
* @return The command to execute the given action.
* @throws CommandConstructionException Thrown if the command cannot be constructed.
*/
public static Command create(AC35Data message, IncomingHeartBeatService incomingHeartBeatService) throws CommandConstructionException {
if (!(message instanceof HeartBeat)) {
throw new CommandConstructionException("Message: " + message + " is not a HeartBeat message.");
}
HeartBeat heartBeat = (HeartBeat) message;
return new IncomingHeartBeatCommand(heartBeat, incomingHeartBeatService);
}
}