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.

48 lines
1.3 KiB

package visualiser.Commands.ConnectionToServerCommands;
import mock.model.commandFactory.Command;
import network.Messages.JoinAcceptance;
import visualiser.enums.ConnectionToServerState;
import visualiser.network.ConnectionToServer;
import java.util.Optional;
/**
* Command created when a {@link network.Messages.Enums.JoinAcceptanceEnum#SERVER_FULL} {@link JoinAcceptance} message is received.
*/
public class ServerFullCommand implements Command {
/**
* The message to operate on.
*/
private JoinAcceptance joinAcceptance;
/**
* The context to operate on.
*/
private ConnectionToServer connectionToServer;
/**
* Creates a new {@link ServerFullCommand}, which operates on a given {@link ConnectionToServer}.
* @param joinAcceptance The message to operate on.
* @param connectionToServer The context to operate on.
*/
public ServerFullCommand(JoinAcceptance joinAcceptance, ConnectionToServer connectionToServer) {
this.joinAcceptance = joinAcceptance;
this.connectionToServer = connectionToServer;
}
@Override
public void execute() {
connectionToServer.setJoinAcceptance(joinAcceptance);
connectionToServer.setConnectionState(ConnectionToServerState.DECLINED);
}
}