diff options
Diffstat (limited to 'EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/config/ConfigurationCacheStore.java')
-rw-r--r-- | EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/config/ConfigurationCacheStore.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/config/ConfigurationCacheStore.java b/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/config/ConfigurationCacheStore.java new file mode 100644 index 000000000..fa404d5ea --- /dev/null +++ b/EssentialsAntiCheat/src/com/earth2me/essentials/anticheat/config/ConfigurationCacheStore.java @@ -0,0 +1,45 @@ +package com.earth2me.essentials.anticheat.config; + +import com.earth2me.essentials.anticheat.ConfigItem; +import java.util.HashMap; +import java.util.Map; + + +/** + * A class to keep all configurables of the plugin associated with a world + * + */ +public class ConfigurationCacheStore +{ + public final LoggingConfig logging; + private final Map<String, ConfigItem> configMap = new HashMap<String, ConfigItem>(); + private final NoCheatConfiguration data; + + /** + * Instantiate a config cache and populate it with the data of a Config tree (and its parent tree) + */ + public ConfigurationCacheStore(NoCheatConfiguration data) + { + + logging = new LoggingConfig(data); + + this.data = data; + } + + @SuppressWarnings("unchecked") + public <T extends ConfigItem> T get(String id) + { + return (T)configMap.get(id); + } + + public void set(String id, ConfigItem config) + { + + configMap.put(id, config); + } + + public NoCheatConfiguration getConfiguration() + { + return this.data; + } +} |