package eu.bibl.cfide.io.config; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import eu.bibl.cfide.io.FileConstants; public final class GlobalConfig extends CFIDEConfig { public static final CFIDEConfig GLOBAL_CONFIG = load(FileConstants.CFIDE_CONFIG); public static final String FRAME_MAXIMIZED_KEY = "frame.size.max"; public static final String FRAME_WIDTH_KEY = "frame.size.width"; public static final String FRAME_HEIGHT_KEY = "frame.size.height"; public static final String FRAME_LOCATION_X_KEY = "frame.loc.x"; public static final String FRAME_LOCATION_Y_KEY = "frame.loc.y"; private GlobalConfig() { super(); } private static final GlobalConfig load(File configFile) { if (!configFile.exists()) { GlobalConfig config = new GlobalConfig(); config.file = configFile; return config; } try (BufferedReader reader = new BufferedReader(new FileReader(configFile))) { String line; String total = ""; while ((line = reader.readLine()) != null) { total += line; } GlobalConfig config = ConfigUtils.GSON_INSTANCE.fromJson(total, GlobalConfig.class); config.file = configFile; return config; } catch (IOException e) { e.printStackTrace(); return null; } } }