summaryrefslogtreecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/Client.java
blob: 5fffb16e2e3192fc1371742fbb9d309839cd3f6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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);
	}

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

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

	public Boolean isFinished() {
		return finished;
	}

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