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.

47 lines
1.3 KiB

package visualiser.Commands.VisualiserRaceCommands;
import mock.model.commandFactory.Command;
import network.Messages.XMLMessage;
import shared.dataInput.RaceDataSource;
import visualiser.model.VisualiserRaceEvent;
import visualiser.model.VisualiserRaceState;
/**
* Command created when a {@link network.Messages.Enums.XMLMessageType#BOAT} {@link XMLMessage} message is received.
*/
public class RaceXMLMessageCommand implements Command {
/**
* The data source to operate on.
*/
private RaceDataSource raceDataSource;
/**
* The context to operate on.
*/
private VisualiserRaceState visualiserRace;
/**
* Creates a new {@link RaceXMLMessageCommand}, which operates on a given {@link VisualiserRaceEvent}.
* @param raceDataSource The data source to operate on.
* @param visualiserRace The context to operate on.
*/
public RaceXMLMessageCommand(RaceDataSource raceDataSource, VisualiserRaceState visualiserRace) {
this.raceDataSource = raceDataSource;
this.visualiserRace = visualiserRace;
}
@Override
public void execute() {
if (raceDataSource.getSequenceNumber() > visualiserRace.getRaceDataSource().getSequenceNumber()) {
visualiserRace.setRaceDataSource(raceDataSource);
}
}
}