summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/GroupsDataHolder.java
blob: 8169df32104c6845009862821d513377d3e832de (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package org.anjocaido.groupmanager.dataholder;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.anjocaido.groupmanager.data.Group;


/**
 * This container holds all Groups loaded from the relevant groupsFile.
 *
 * @author ElgarL
 *
 */
public class GroupsDataHolder
{
	private WorldDataHolder dataSource;
	private Group defaultGroup = null;
	private File groupsFile;
	private boolean haveGroupsChanged = false;
	private long timeStampGroups = 0;
	/**
	 * The actual groups holder
	 */
	private Map<String, Group> groups = new HashMap<String, Group>();

	/**
	 * Constructor
	 */
	protected GroupsDataHolder()
	{
	}

	public void setDataSource(WorldDataHolder dataSource)
	{

		this.dataSource = dataSource;
		//push this data source to the users, so they pull the correct groups data.
		for (Group group : groups.values())
		{
			group.setDataSource(this.dataSource);
		}
	}

	/**
	 * @return the defaultGroup
	 */
	public Group getDefaultGroup()
	{

		return defaultGroup;
	}

	/**
	 * @param defaultGroup the defaultGroup to set
	 */
	public void setDefaultGroup(Group defaultGroup)
	{

		this.defaultGroup = defaultGroup;
	}

	/**
	 * @return the groups
	 */
	public Map<String, Group> getGroups()
	{

		return groups;
	}

	/**
	 * @param groups the groups to set
	 */
	public void setGroups(Map<String, Group> groups)
	{

		this.groups = groups;
	}

	/**
	 * @return the groupsFile
	 */
	public File getGroupsFile()
	{

		return groupsFile;
	}

	/**
	 * @param groupsFile the groupsFile to set
	 */
	public void setGroupsFile(File groupsFile)
	{

		this.groupsFile = groupsFile;
	}

	/**
	 * @return the haveGroupsChanged
	 */
	public boolean HaveGroupsChanged()
	{

		return haveGroupsChanged;
	}

	/**
	 * @param haveGroupsChanged the haveGroupsChanged to set
	 */
	public void setGroupsChanged(boolean haveGroupsChanged)
	{

		this.haveGroupsChanged = haveGroupsChanged;
	}

	/**
	 * @return the timeStampGroups
	 */
	public long getTimeStampGroups()
	{

		return timeStampGroups;
	}

	/**
	 * @param timeStampGroups the timeStampGroups to set
	 */
	public void setTimeStampGroups(long timeStampGroups)
	{

		this.timeStampGroups = timeStampGroups;
	}
}