blob: e91b355ed2aaeeabf84d5c2db6ebdff10f1405a3 (
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
|
package moe.ymc.acron.config.json;
import com.google.gson.Gson;
import moe.ymc.acron.config.Config;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class ConfigDeserializer {
public static @NotNull Config deserialize(@NotNull File file, boolean startup)
throws ConfigDeserializationException, IOException {
final Reader reader = new FileReader(file);
final moe.ymc.acron.config.json.Config config;
try {
config = new Gson()
.fromJson(reader, moe.ymc.acron.config.json.Config.class);
} catch (Throwable e) {
throw new ConfigDeserializationException("Cannot parse JSON: " + e.getMessage(),
true);
}
reader.close();
return config.create(startup);
}
}
|