summaryrefslogblamecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/Client.java
blob: 319abd20710d636ccd2f14640f56895606a1661c (plain) (tree)












































                                                                          



                                                  



                                                                                  

                                                                            













                                            
package ControllerWorker;

import org.json.simple.JSONObject;

public class Client {
	private int id;
	private String ip;
	private String mac;
	private ClientState state;
	private String error;
	private Boolean finished;

	public Client(JSONObject clientJsonObj, String initialStateText) {
		id = Integer.parseInt(clientJsonObj.get("id").toString());
		ip = clientJsonObj.get("ip").toString();
		mac = clientJsonObj.get("mac").toString();
		finished = false;
		error = "";
		initializeState(initialStateText);
	}

	public int getId() {
		return id;
	}

	public String getStateText() {
		return state.getText();
	}

	public String getError() {
		return error;
	}

	public String getIp() {
		return ip;
	}

	public String getMac() {
		return mac;
	}

	public int getState() {
		return state.getId();
	}

	public void setState(ClientState state_) {
		state = state_;
	}

	public void changeState(int stateID, String stateName, String stateText) {
		state = new ClientState(stateID, stateName, stateText);
	}

	private void initializeState(String stateText) {
		state = new ClientState(0, "CLIENT_INITIALIZED", stateText);
	}

	public void setError(String error) {
		this.error = error;
	}

	public Boolean isFinished() {
		return finished;
	}

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