-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathASettingsStore.java
79 lines (55 loc) · 1.36 KB
/
ASettingsStore.java
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
// Copyright © 2024 Andy Goryachev <[email protected]>
package goryachev.common.util;
/**
* Abstract Settings Store.
*/
public abstract class ASettingsStore
{
public abstract void setStream(String key, SStream stream);
public abstract SStream getStream(String key);
public abstract void setString(String key, String val);
public abstract String getString(String key);
/** triggers saving. this may not be necessary if saving is triggered automatically (after a short delay) */
public abstract void save();
//
public ASettingsStore()
{
}
public int getInt(String key, int defaultValue)
{
return Parsers.parseInt(getString(key), defaultValue);
}
public void setInt(String key, int val)
{
setString(key, String.valueOf(val));
}
public void setBoolean(String key, boolean value)
{
setString(key, String.valueOf(value));
}
public Boolean getBoolean(String key)
{
String v = getString(key);
if(v != null)
{
if("true".equals(v))
{
return Boolean.TRUE;
}
else if("false".equals(v))
{
return Boolean.FALSE;
}
}
return null;
}
public Boolean getBoolean(String key, boolean defaultValue)
{
Boolean b = getBoolean(key);
if(b == null)
{
return defaultValue;
}
return b.booleanValue();
}
}