From 32840e68f361c61ea42b77d33eb67d6164c136a4 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 21 Feb 2012 19:17:22 +0100 Subject: Sign settings --- .../essentials/signs/SignsConfigHolder.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java (limited to 'EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java') diff --git a/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java new file mode 100644 index 000000000..dcf436b03 --- /dev/null +++ b/EssentialsSigns/src/com/earth2me/essentials/signs/SignsConfigHolder.java @@ -0,0 +1,64 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.api.IEssentials; +import com.earth2me.essentials.storage.AsyncStorageObjectHolder; +import java.io.File; +import java.io.IOException; +import java.util.*; +import org.bukkit.plugin.Plugin; + + +public class SignsConfigHolder extends AsyncStorageObjectHolder +{ + private final Plugin plugin; + private Set enabledSigns = new HashSet(); + + public SignsConfigHolder(final IEssentials ess, final Plugin plugin) + { + super(ess, SignsConfig.class); + this.plugin = plugin; + onReload(); + acquireReadLock(); + try + { + Map signs = getData().getSigns(); + for (Map.Entry entry : signs.entrySet()) + { + Signs sign = Signs.valueOf(entry.getKey().toUpperCase(Locale.ENGLISH)); + if (sign != null && entry.getValue()) + { + enabledSigns.add(sign.getSign()); + } + } + } + finally + { + unlock(); + } + acquireWriteLock(); + try + { + Map signs = new HashMap(); + for (Signs sign : Signs.values()) + { + signs.put(sign.toString(), enabledSigns.contains(sign.getSign())); + } + getData().setSigns(signs); + } + finally + { + unlock(); + } + } + + @Override + public File getStorageFile() throws IOException + { + return new File(plugin.getDataFolder(), "config.yml"); + } + + public Set getEnabledSigns() + { + return enabledSigns; + } +} -- cgit v1.2.3