4275 |
19 Dec 16 |
nicklas |
1 |
package net.sf.basedb.opengrid.config; |
4275 |
19 Dec 16 |
nicklas |
2 |
|
4275 |
19 Dec 16 |
nicklas |
3 |
import org.json.simple.JSONObject; |
4275 |
19 Dec 16 |
nicklas |
4 |
import net.sf.basedb.opengrid.json.JSONOptions; |
4275 |
19 Dec 16 |
nicklas |
5 |
|
4275 |
19 Dec 16 |
nicklas |
6 |
/** |
4275 |
19 Dec 16 |
nicklas |
Configuration settings related to a single node |
4275 |
19 Dec 16 |
nicklas |
in the cluster. So far, we are only interested in the |
4275 |
19 Dec 16 |
nicklas |
name of the node so that we can connect to it and |
4275 |
19 Dec 16 |
nicklas |
execute commands via SSH. |
4275 |
19 Dec 16 |
nicklas |
11 |
|
4275 |
19 Dec 16 |
nicklas |
@author nicklas |
4275 |
19 Dec 16 |
nicklas |
@since 1.0 |
4275 |
19 Dec 16 |
nicklas |
14 |
*/ |
4275 |
19 Dec 16 |
nicklas |
15 |
public class NodeConfig |
4275 |
19 Dec 16 |
nicklas |
16 |
extends AbstractLockable<NodeConfig> |
4275 |
19 Dec 16 |
nicklas |
17 |
{ |
4275 |
19 Dec 16 |
nicklas |
18 |
|
4275 |
19 Dec 16 |
nicklas |
19 |
private String name; |
4275 |
19 Dec 16 |
nicklas |
20 |
|
4275 |
19 Dec 16 |
nicklas |
21 |
public NodeConfig() |
4275 |
19 Dec 16 |
nicklas |
22 |
{} |
4275 |
19 Dec 16 |
nicklas |
23 |
|
4275 |
19 Dec 16 |
nicklas |
24 |
/** |
4275 |
19 Dec 16 |
nicklas |
Get the name of the node. |
4275 |
19 Dec 16 |
nicklas |
26 |
*/ |
4275 |
19 Dec 16 |
nicklas |
27 |
public String getName() |
4275 |
19 Dec 16 |
nicklas |
28 |
{ |
4275 |
19 Dec 16 |
nicklas |
29 |
return name; |
4275 |
19 Dec 16 |
nicklas |
30 |
} |
4275 |
19 Dec 16 |
nicklas |
31 |
|
4275 |
19 Dec 16 |
nicklas |
32 |
/** |
4275 |
19 Dec 16 |
nicklas |
Set the name of the node. |
4275 |
19 Dec 16 |
nicklas |
34 |
|
4275 |
19 Dec 16 |
nicklas |
@throws IllegalStateException If this instance has been locked |
4275 |
19 Dec 16 |
nicklas |
36 |
*/ |
4275 |
19 Dec 16 |
nicklas |
37 |
public void setName(String name) |
4275 |
19 Dec 16 |
nicklas |
38 |
{ |
4275 |
19 Dec 16 |
nicklas |
39 |
checkLocked("setName()"); |
4275 |
19 Dec 16 |
nicklas |
40 |
this.name = name; |
4275 |
19 Dec 16 |
nicklas |
41 |
} |
4275 |
19 Dec 16 |
nicklas |
42 |
|
4275 |
19 Dec 16 |
nicklas |
43 |
/** |
4275 |
19 Dec 16 |
nicklas |
Name is required. |
4275 |
19 Dec 16 |
nicklas |
45 |
*/ |
4275 |
19 Dec 16 |
nicklas |
46 |
@Override |
4275 |
19 Dec 16 |
nicklas |
47 |
protected void checkValid(boolean forLock) |
4275 |
19 Dec 16 |
nicklas |
48 |
{ |
4275 |
19 Dec 16 |
nicklas |
49 |
super.checkValid(forLock); |
4275 |
19 Dec 16 |
nicklas |
50 |
if (name == null) throw new NullPointerException("name"); |
4275 |
19 Dec 16 |
nicklas |
51 |
} |
4275 |
19 Dec 16 |
nicklas |
52 |
|
4275 |
19 Dec 16 |
nicklas |
53 |
/** |
4275 |
19 Dec 16 |
nicklas |
Get the configuration information as a JSON object. |
4275 |
19 Dec 16 |
nicklas |
55 |
*/ |
4275 |
19 Dec 16 |
nicklas |
56 |
public JSONObject asJSONObject(JSONOptions options) |
4275 |
19 Dec 16 |
nicklas |
57 |
{ |
4275 |
19 Dec 16 |
nicklas |
58 |
JSONObject json = new JSONObject(); |
4275 |
19 Dec 16 |
nicklas |
59 |
json.put("name", name); |
4275 |
19 Dec 16 |
nicklas |
60 |
return json; |
4275 |
19 Dec 16 |
nicklas |
61 |
} |
4275 |
19 Dec 16 |
nicklas |
62 |
|
4275 |
19 Dec 16 |
nicklas |
63 |
} |