summaryrefslogblamecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/ShutdownState.java
blob: cf3aa8e97bbf5bf131c872c24c374c45f6d20464 (plain) (tree)


























































                                                                              
package ControllerWorker;

import java.util.Vector;

public class ShutdownState {
	private String eventName;
	private Vector<Client> clients;
	private Boolean finished;
	private Boolean error;

	public ShutdownState(String eventName, Vector<Client> clients) {
		this.eventName = eventName;
		this.clients = clients;
		finished = false;
		error = false;
	}

	public Boolean isFinished() {
		return finished && !error;
	}

	public Boolean isFinishedWithErrors() {
		return finished && error;
	}

	public Vector<Client> getClients() {
		return clients;
	}

	public String getEventName() {
		return eventName;
	}

	public void finish() {
		this.finished = true;
	}

	public void error() {
		this.error = true;
	}

	public void setClientState(int clientID, ClientState newClientState) {
		for (Client client : clients) {
			if (client.getId() == clientID) {
				client.setState(newClientState);
				break;
			}
		}
	}

	public void setClientError(int clientID, String error) {
		for (Client client : clients) {
			if (client.getId() == clientID) {
				client.setError(error);
				break;
			}
		}
	}
}