1package com.fs.starfarer.api.impl;
3import java.io.IOException;
4import java.util.ArrayList;
5import java.util.Collections;
6import java.util.HashMap;
7import java.util.LinkedHashSet;
12import org.json.JSONArray;
13import org.json.JSONException;
14import org.json.JSONObject;
16import com.fs.starfarer.api.Global;
33 protected JSONObject
json =
new JSONObject();
40 }
catch (IOException e) {
42 }
catch (JSONException e) {
53 }
catch (JSONException e) {
55 }
catch (IOException e) {
60 protected Map<String, Set<String>>
setCache =
new HashMap<>();
62 public Set<String>
getSet(String key) {
65 JSONArray arr =
json.optJSONArray(key);
66 Set<String>
set =
new LinkedHashSet<>();
68 for (
int i = 0; i < arr.length(); i++) {
69 String curr = arr.optString(i);
80 Set<String>
set =
getSet(key);
81 return set.contains(value);
84 public boolean addToSet(String key, String value) {
85 Set<String>
set =
getSet(key);
86 if (
set.contains(value)) {
94 JSONArray arr =
new JSONArray();
95 List<String> list =
new ArrayList<>();
97 Collections.sort(list);
99 for (String curr : list) {
105 }
catch (JSONException e) {
112 public boolean optBoolean(String key,
boolean defaultValue) {
113 return json.optBoolean(key, defaultValue);
117 json.put(key, value);
118 }
catch (JSONException e) {
123 public float optFloat(String key,
float defaultValue) {
124 return (
float)
json.optDouble(key, defaultValue);
128 json.put(key, value);
129 }
catch (JSONException e) {
134 public int optInt(String key,
int defaultValue) {
135 return json.optInt(key, defaultValue);
137 public void setInt(String key,
int value) {
139 json.put(key, value);
140 }
catch (JSONException e) {
145 public String
optString(String key, String defaultValue) {
146 return json.optString(key, defaultValue);
150 json.put(key, value);
151 }
catch (JSONException e) {
static SettingsAPI getSettings()
static Logger getLogger(Class c)
float optFloat(String key, float defaultValue)
Map< String, Set< String > > setCache
String optString(String key, String defaultValue)
abstract String getFilename()
void setBoolean(String key, boolean value)
boolean optBoolean(String key, boolean defaultValue)
boolean addToSet(String key, String value)
boolean doesSetContain(String key, String value)
void setString(String key, String value)
void setInt(String key, int value)
Set< String > getSet(String key)
void setFloat(String key, float value)
int optInt(String key, int defaultValue)
boolean fileExistsInCommon(String filename)
void writeJSONToCommon(String filename, JSONObject json, boolean onlyIfChanged)
JSONObject readJSONFromCommon(String filename, boolean putInWriteCache)