Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.spigotcallback.signsystem.config;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import net.spigotcallback.signsystem.SignSystem;
- import org.json.simple.JSONArray;
- import org.json.simple.JSONObject;
- import org.json.simple.parser.JSONParser;
- //==================================
- //
- // Copyright (c) SpigotCallback.net from 2018. All rights Reserved.
- //
- //==================================
- public class ConfigManger {
- private final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().disableHtmlEscaping().create();
- private final JSONParser parser = new JSONParser();
- private final String name;
- private JSONObject object;
- public ConfigManger(String name) {
- this.name = name;
- try {
- BufferedReader bufferedReader = new BufferedReader(new FileReader(new File("plugins/SignSystem/" + name + ".json")));
- object = (JSONObject) parser.parse(bufferedReader);
- if(SignSystem.getConfigs().containsKey(name)) {
- SignSystem.getConfigs().remove(name);
- SignSystem.getConfigs().put(name, this);
- } else {
- SignSystem.getConfigs().put(name, this);
- }
- } catch (Exception var1) {
- var1.printStackTrace();
- }
- }
- public void append(String key, Object value) {
- object.put(key, value);
- }
- public void appendString(String key, String value) {
- append(key, value);
- }
- public void appendNumber(String key, Number value) {
- append(key, value);
- }
- public void appendBoolean(String key, Boolean value) {
- append(key, value);
- }
- public void appendList(String key, List values) {
- append(key, values);
- }
- public void appendMap(String key, Map<String, Object> values) {
- append(key, values);
- }
- public Object get(String key) {
- return object.getOrDefault(key, null);
- }
- public String getString(String key) {
- return (String) get(key);
- }
- public int getInteger(String key) {
- return (int) (long) get(key);
- }
- public boolean getBoolean(String key) {
- return (boolean) get(key);
- }
- public List getList(String key) {
- return (List) get(key);
- }
- public HashMap<String, Object> getMap(String key) {
- return (HashMap<String, Object>) get(key);
- }
- public JSONObject toJson() {
- return object;
- }
- public boolean save() {
- File file = new File("plugins/SignSystem/" + name + ".json");
- if(file == null) return false;
- if(file.exists()) file.delete();
- try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8")) {
- gson.toJson(object, writer);
- if(SignSystem.getConfigs().containsKey(name)) {
- SignSystem.getConfigs().remove(name);
- SignSystem.getConfigs().put(name, this);
- } else {
- SignSystem.getConfigs().put(name, this);
- }
- return true;
- } catch (IOException var0) {
- var0.getStackTrace();
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement