diff options
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java')
-rw-r--r-- | Essentials/src/com/earth2me/essentials/settings/SettingsHolder.java | 64 |
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(); + } + } +} |