summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/economy/Money.java
blob: 2373cc7f7b9c483354fe6ff9e1729ddcc79f1a3f (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
package net.ess3.economy;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import lombok.*;
import net.ess3.storage.MapValueType;
import net.ess3.storage.StorageObject;


@Data
@EqualsAndHashCode(callSuper = false)
public class Money implements StorageObject
{
	@MapValueType(Double.class)
	@Getter(AccessLevel.NONE)
	@Setter(AccessLevel.NONE)
	private Map<String, Double> balances;

	public Map<String, Double> getBalances()
	{
		return balances == null ? Collections.<String, Double>emptyMap() : Collections.unmodifiableMap(balances);
	}

	public void setBalance(String name, Double value)
	{
		Map<String, Double> balanceMap = new HashMap<String, Double>(getBalances());
		balanceMap.put(name, value);
		balances = balanceMap;
	}

	void removeBalance(String name)
	{
		Map<String, Double> balanceMap = new HashMap<String, Double>(getBalances());
		balanceMap.remove(name);
		balances = balanceMap;
	}


}