summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/GroupVariables.java
blob: e77b3af2c99263e5f2b980dbe21e625362079efd (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.anjocaido.groupmanager.data;

import java.util.Map;


/**
 *
 * @author gabrielcouto
 */
public class GroupVariables extends Variables implements Cloneable
{
	private Group owner;

	public GroupVariables(Group owner)
	{

		super(owner);
		this.owner = owner;
		addVar("prefix", "");
		addVar("suffix", "");
		addVar("build", false);
	}

	public GroupVariables(Group owner, Map<String, Object> varList)
	{

		super(owner);
		variables = varList;
		if (variables.get("prefix") == null)
		{
			variables.put("prefix", "");
			owner.flagAsChanged();
		}
		//thisGrp.prefix = infoNode.get("prefix").toString();

		if (variables.get("suffix") == null)
		{
			variables.put("suffix", "");
			owner.flagAsChanged();
		}
		//thisGrp.suffix = infoNode.get("suffix").toString();

		if (variables.get("build") == null)
		{
			variables.put("build", false);
			owner.flagAsChanged();
		}
		this.owner = owner;
	}

	/**
	 * A clone of all vars here.
	 *
	 * @return GroupVariables clone
	 */
	protected GroupVariables clone(Group newOwner)
	{

		GroupVariables clone = new GroupVariables(newOwner);
		for (String key : variables.keySet())
		{
			clone.variables.put(key, variables.get(key));
		}
		newOwner.flagAsChanged();
		return clone;
	}

	/**
	 * Remove a var from the list
	 *
	 * @param name
	 */
	@Override
	public void removeVar(String name)
	{

		try
		{
			this.variables.remove(name);
		}
		catch (Exception e)
		{
		}
		if (name.equals("prefix"))
		{
			addVar("prefix", "");
		}
		else if (name.equals("suffix"))
		{
			addVar("suffix", "");
		}
		else if (name.equals("build"))
		{
			addVar("build", false);
		}
		owner.flagAsChanged();
	}

	/**
	 * @return the owner
	 */
	@Override
	public Group getOwner()
	{

		return owner;
	}
}