summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java b/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
new file mode 100644
index 000000000..434d9b922
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java
@@ -0,0 +1,64 @@
+package com.earth2me.essentials.settings;
+
+import com.earth2me.essentials.api.IEssentials;
+import com.earth2me.essentials.api.ISettings;
+import com.earth2me.essentials.storage.AsyncStorageObjectHolder;
+import java.io.File;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+
+public class SettingsHolder extends AsyncStorageObjectHolder<Settings> implements ISettings
+{
+ private final transient AtomicBoolean debug = new AtomicBoolean(false);
+ public SettingsHolder(final IEssentials ess)
+ {
+ super(ess, Settings.class);
+ onReload();
+ }
+
+ @Override
+ public final void onReload()
+ {
+ super.onReload();
+ acquireReadLock();
+ try {
+ debug.set(getData().getGeneral().isDebug());
+ } finally {
+ unlock();
+ }
+ }
+
+ @Override
+ public File getStorageFile()
+ {
+ return new File(ess.getDataFolder(), "settings.yml");
+ }
+
+ @Override
+ public String getLocale()
+ {
+ acquireReadLock();
+ try {
+ return getData().getGeneral().getLocale();
+ } finally {
+ unlock();
+ }
+ }
+
+ @Override
+ public boolean isDebug()
+ {
+ return debug.get();
+ }
+
+ public void setDebug(final boolean set)
+ {
+ debug.set(set);
+ acquireWriteLock();
+ try {
+ getData().getGeneral().setDebug(set);
+ } finally {
+ unlock();
+ }
+ }
+}