Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. package net.spigotcallback.signsystem.config;
  2.  
  3.  
  4.  
  5. import com.google.gson.Gson;
  6. import com.google.gson.GsonBuilder;
  7. import java.io.BufferedReader;
  8. import java.io.File;
  9. import java.io.FileOutputStream;
  10. import java.io.FileReader;
  11. import java.io.IOException;
  12. import java.io.OutputStreamWriter;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. import net.spigotcallback.signsystem.SignSystem;
  17. import org.json.simple.JSONArray;
  18. import org.json.simple.JSONObject;
  19. import org.json.simple.parser.JSONParser;
  20.  
  21. //==================================
  22. //
  23. // Copyright (c) SpigotCallback.net from 2018. All rights Reserved.
  24. //
  25. //==================================
  26.  
  27. public class ConfigManger {
  28.  
  29. private final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().disableHtmlEscaping().create();
  30. private final JSONParser parser = new JSONParser();
  31.  
  32. private final String name;
  33. private JSONObject object;
  34.  
  35. public ConfigManger(String name) {
  36. this.name = name;
  37.  
  38. try {
  39. BufferedReader bufferedReader = new BufferedReader(new FileReader(new File("plugins/SignSystem/" + name + ".json")));
  40. object = (JSONObject) parser.parse(bufferedReader);
  41. if(SignSystem.getConfigs().containsKey(name)) {
  42. SignSystem.getConfigs().remove(name);
  43. SignSystem.getConfigs().put(name, this);
  44. } else {
  45. SignSystem.getConfigs().put(name, this);
  46. }
  47. } catch (Exception var1) {
  48. var1.printStackTrace();
  49. }
  50. }
  51.  
  52. public void append(String key, Object value) {
  53. object.put(key, value);
  54. }
  55.  
  56. public void appendString(String key, String value) {
  57. append(key, value);
  58. }
  59.  
  60. public void appendNumber(String key, Number value) {
  61. append(key, value);
  62. }
  63.  
  64. public void appendBoolean(String key, Boolean value) {
  65. append(key, value);
  66. }
  67.  
  68. public void appendList(String key, List values) {
  69. append(key, values);
  70. }
  71.  
  72. public void appendMap(String key, Map<String, Object> values) {
  73. append(key, values);
  74. }
  75.  
  76. public Object get(String key) {
  77. return object.getOrDefault(key, null);
  78. }
  79.  
  80. public String getString(String key) {
  81. return (String) get(key);
  82. }
  83.  
  84. public int getInteger(String key) {
  85. return (int) (long) get(key);
  86. }
  87.  
  88. public boolean getBoolean(String key) {
  89. return (boolean) get(key);
  90. }
  91.  
  92. public List getList(String key) {
  93. return (List) get(key);
  94. }
  95.  
  96. public HashMap<String, Object> getMap(String key) {
  97. return (HashMap<String, Object>) get(key);
  98. }
  99.  
  100. public JSONObject toJson() {
  101. return object;
  102. }
  103.  
  104. public boolean save() {
  105. File file = new File("plugins/SignSystem/" + name + ".json");
  106.  
  107. if(file == null) return false;
  108. if(file.exists()) file.delete();
  109.  
  110. try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8")) {
  111. gson.toJson(object, writer);
  112. if(SignSystem.getConfigs().containsKey(name)) {
  113. SignSystem.getConfigs().remove(name);
  114. SignSystem.getConfigs().put(name, this);
  115. } else {
  116. SignSystem.getConfigs().put(name, this);
  117. }
  118. return true;
  119. } catch (IOException var0) {
  120. var0.getStackTrace();
  121. return false;
  122. }
  123. }
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement