/* * Apocalypse Laboratories * Open Source License * * Source code can be used for any purpose, as long as: * - Compiled binaries are rebranded and trademarks are not * visible by the end user at any time, except to give * credit to Apocalypse Laboratories, such as by showing * "Based on by Apocalypse Laboratories" or a * similar notice; * - You do not use the code for evil; * - Rebranded compiled applications have significant * differences in functionality; * - and you provide your modified source code for download, * under the terms of the GNU LGPL v3 or a comparable * license. * * Compiled binaries cannot be redistributed or mirrored, * unless: * - You have written permission from Apocalypse Laboratories; * - Downloads are not available from Apocalypse Laboratories, * not even behind a paywall or other blocking mechanism; * - or you have received a multi-computer license, in which * case you should take measures to prevent unauthorized * downloads, such as preventing download access from the * Internet. */ package net.apocalypselabs.symat; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; /** * * @author Skylar Ittner */ public class PrefStorage { private static final Preferences prefs = Preferences.userNodeForPackage(PrefStorage.class); public static void saveSetting(String key, String value) { prefs.put(key, value); } public static boolean isset(String key) { return !getSetting(key, "NULL").equals("NULL"); } public static void unset(String key) { prefs.remove(key); } public static String getSetting(String key) { return prefs.get(key, ""); } public static String getSetting(String key, String emptyResponse) { return prefs.get(key, emptyResponse); } public static boolean save() { try { prefs.flush(); } catch (BackingStoreException ex) { System.err.println("Settings could not be saved!"); return false; } return true; } // xkcd 221 compliance. int getRandomNumber() { return 4; // chosen by fair dice roll. // guaranteed to be random. } }