summaryrefslogblamecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/Client.java
blob: e891d02674cddd768cbd2f1cb1c714bb1d841ecb (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 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;
	}
}