leonard.se
2022-03-01 c6e76869f5a02cd52b8f4f9c7d78c0b433b22997
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
package za.co.taulite.tools.smppclient;
 
import com.google.gson.Gson;
import org.springframework.stereotype.Component;
 
import javax.annotation.PostConstruct;
import java.util.prefs.Preferences;
 
@Component
public class MSPrefs {
 
    private static final String PREFS_ROOT = "za/co/taulite/tools/smppclient";
    private static final Gson GSON = new Gson();
 
 
    private Preferences prefs;
 
    @PostConstruct
    private void init() {
        prefs = Preferences.userRoot().node(PREFS_ROOT);
    }
 
    public void set(String key, Object value) {
        prefs.put(key, GSON.toJson(value));
    }
 
    public <T> T get(String key, Class<T> clazz) {
        var value = prefs.get(key, null);
        if (value == null) {
            return null;
        }
        return GSON.fromJson(value, clazz);
    }
}