sync config work

This commit is contained in:
jascotty2 2019-08-29 17:10:43 -05:00
parent acfed5a266
commit 379a92a554
5 changed files with 808 additions and 401 deletions

View File

@ -1,34 +1,29 @@
package com.songoda.core.settingsv2;
import com.songoda.core.settingsv2.adapters.ConfigOptionsAdapter;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Color;
import org.bukkit.OfflinePlayer;
import org.bukkit.configuration.Configuration;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.configuration.file.YamlConfigurationOptions;
import org.bukkit.configuration.file.YamlConstructor;
import org.bukkit.configuration.file.YamlRepresenter;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.representer.Representer;
public class Config extends YamlConfiguration {
/**
* Configuration settings for a plugin
*
* @since 2019-08-28
* @author jascotty2
*/
public class Config extends SongodaConfigurationSection {
/*
Serialization notes:
@ -41,25 +36,28 @@ public class Config extends YamlConfiguration {
// public new (Map<String, ?> args)
*/
protected static final String COMMENT_PREFIX = "# ";
protected static final String BLANK_CONFIG = "{}\n";
final File file;
final DumperOptions yamlOptions = new DumperOptions();
final Representer yamlRepresenter = new YamlRepresenter();
final Yaml yaml = new Yaml(new YamlConstructor(), yamlRepresenter, yamlOptions);
protected int indentation = 2; // between 2 and 9 (inclusive)
protected char pathChar = '.';
final HashMap<String, Comment> configComments = new HashMap();
final HashMap<String, Class> strictKeys = new HashMap();
final HashMap<String, Object> values = new HashMap();
public Config(@NotNull File file) {
super(null, null);
this.file = file;
}
public Config(@NotNull Plugin plugin, @NotNull String file) {
super(null, null);
this.file = new File(plugin.getDataFolder(), file);
}
public Config(@NotNull Plugin plugin, @NotNull String directory, @NotNull String file) {
super(null, null);
this.file = new File(plugin.getDataFolder() + directory, file);
}
@ -93,7 +91,6 @@ public class Config extends YamlConfiguration {
}
@NotNull
@Override
public String saveToString() {
try {
yamlOptions.setIndent(indentation);
@ -132,337 +129,8 @@ public class Config extends YamlConfiguration {
}
@Override
public void addDefault(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addDefaults(Map<String, Object> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Configuration getDefaults() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public YamlConfigurationOptions options() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Set<String> getKeys(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Object> getValues(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isSet(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getCurrentPath() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getName() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Configuration getRoot() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getParent() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void set(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string, Map<?, ?> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string, String string1) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string, int i) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string, double d) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string, long l) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string, List<?> list) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<String> getStringList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Integer> getIntegerList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Boolean> getBooleanList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Double> getDoubleList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Float> getFloatList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Long> getLongList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Byte> getByteList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Character> getCharacterList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Short> getShortList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Map<?, ?>> getMapList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string, Vector vector) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string, OfflinePlayer op) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string, ItemStack is) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string, Color color) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getDefaultSection() {
throw new UnsupportedOperationException("Not supported yet.");
public ConfigOptionsAdapter options() {
return new ConfigOptionsAdapter(this);
}
}

View File

@ -32,7 +32,7 @@ public class ConfigFormattingRules {
* #|_________|# <br />
* ############# <br />
*/
BLOCKSPACED(true, true, "|¯", '¯', "¯|", "| ", " |", "|_", '_', "_|");
BLOCKSPACED(true, true, "|\u00AF", '\u00AF', "\u00AF|", "| ", " |", "|_", '_', "_|");
final boolean drawBorder, drawSpace;
final String commentPrefix, spacePrefixTop, spacePrefixBottom;

View File

@ -0,0 +1,379 @@
package com.songoda.core.settingsv2;
import com.songoda.core.settingsv2.adapters.ConfigAdapter;
import com.songoda.core.settingsv2.adapters.ConfigOptionsAdapter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.bukkit.Color;
import org.bukkit.OfflinePlayer;
import org.bukkit.configuration.Configuration;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.MemoryConfiguration;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Configuration for a specific node
*
* @since 2019-08-28
* @author jascotty2
*/
public class SongodaConfigurationSection extends MemoryConfiguration {
final Config root;
final String fullPath;
final SongodaConfigurationSection parent;
final HashMap<String, Comment> configComments = new HashMap();
final HashMap<String, Class> strictKeys = new HashMap();
final HashMap<String, Object> defaults = new HashMap();
final HashMap<String, Object> values = new HashMap();
public SongodaConfigurationSection(Config root, SongodaConfigurationSection parent) {
this.root = root;
this.parent = parent;
fullPath = "";
}
@Override
public void addDefault(@NotNull String path, @Nullable Object value) {
defaults.put(path, value);
// TODO path iteration
}
@Override
public void addDefaults(Map<String, Object> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigAdapter getDefaults() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigOptionsAdapter options() {
return new ConfigOptionsAdapter(root);
}
@Override
public Set<String> getKeys(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Object> getValues(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isSet(String path) {
return get(path, null) != null;
}
@Override
public String getCurrentPath() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getName() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Configuration getRoot() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getParent() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void set(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string, Map<?, ?> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string, String string1) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string, int i) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string, double d) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string, long l) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string, List<?> list) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<String> getStringList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Integer> getIntegerList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Boolean> getBooleanList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Double> getDoubleList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Float> getFloatList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Long> getLongList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Byte> getByteList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Character> getCharacterList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Short> getShortList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Map<?, ?>> getMapList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string, Vector vector) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string, OfflinePlayer op) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string, ItemStack is) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string, Color color) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getDefaultSection() {
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@ -1,66 +1,364 @@
package com.songoda.core.settingsv2.adapters;
import com.songoda.core.settingsv2.Config;
import java.util.HashMap;
import java.util.List;
import org.bukkit.configuration.file.YamlConfigurationOptions;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
import java.util.Set;
import org.bukkit.Color;
import org.bukkit.OfflinePlayer;
import org.bukkit.configuration.Configuration;
import org.bukkit.configuration.ConfigurationOptions;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
public class ConfigAdapter extends YamlConfigurationOptions {
public class ConfigAdapter implements Configuration {
public ConfigAdapter(Config configuration) {
super(configuration);
}
final Config root;
final HashMap<String, Object> map;
final String path;
@NotNull
@Override
public Config configuration() {
return (Config) super.configuration();
}
@NotNull
@Override
public YamlConfigurationOptions copyDefaults(boolean value) {
// we always copy new values
return this;
}
@NotNull
@Override
public YamlConfigurationOptions pathSeparator(char value) {
((Config) super.configuration()).setPathSeparator(value);
return this;
}
@NotNull
@Override
public YamlConfigurationOptions header(@Nullable String value) {
if (value == null) {
((Config) super.configuration()).setHeader((List) null);
} else {
((Config) super.configuration()).setHeader(value.split("\n"));
}
return this;
}
@NotNull
@Override
public YamlConfigurationOptions copyHeader(boolean value) {
if (!value) {
((Config) super.configuration()).setHeader((List) null);
}
return this;
public ConfigAdapter(Config config, HashMap<String, Object> map, String path) {
this.root = config;
this.map = map;
this.path = path;
}
@Override
public int indent() {
return ((Config) super.configuration()).getIndent();
public void addDefault(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@NotNull
@Override
public YamlConfigurationOptions indent(int value) {
((Config) super.configuration()).setIndent(value);
return this;
public void addDefaults(Map<String, Object> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void addDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setDefaults(Configuration c) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Configuration getDefaults() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationOptions options() {
return new ConfigOptionsAdapter(root);
}
@Override
public Set<String> getKeys(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Map<String, Object> getValues(boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean contains(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isSet(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getCurrentPath() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getName() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Configuration getRoot() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getParent() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Object get(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void set(String string, Object o) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection createSection(String string, Map<?, ?> map) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public String getString(String string, String string1) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isString(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public int getInt(String string, int i) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isInt(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean getBoolean(String string, boolean bln) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isBoolean(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public double getDouble(String string, double d) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isDouble(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public long getLong(String string, long l) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isLong(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<?> getList(String string, List<?> list) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<String> getStringList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Integer> getIntegerList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Boolean> getBooleanList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Double> getDoubleList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Float> getFloatList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Long> getLongList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Byte> getByteList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Character> getCharacterList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Short> getShortList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<Map<?, ?>> getMapList(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T> T getObject(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public <T extends ConfigurationSerializable> T getSerializable(String string, Class<T> type, T t) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Vector getVector(String string, Vector vector) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isVector(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public OfflinePlayer getOfflinePlayer(String string, OfflinePlayer op) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isOfflinePlayer(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ItemStack getItemStack(String string, ItemStack is) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isItemStack(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Color getColor(String string, Color color) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isColor(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isConfigurationSection(String string) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public ConfigurationSection getDefaultSection() {
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@ -0,0 +1,62 @@
package com.songoda.core.settingsv2.adapters;
import com.songoda.core.settingsv2.Config;
import java.util.List;
import org.bukkit.configuration.MemoryConfigurationOptions;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class ConfigOptionsAdapter extends MemoryConfigurationOptions {
public ConfigOptionsAdapter(Config configuration) {
super(configuration);
}
@NotNull
@Override
public Config configuration() {
return (Config) super.configuration();
}
@NotNull
@Override
public ConfigOptionsAdapter copyDefaults(boolean value) {
// we always copy new values
return this;
}
@NotNull
@Override
public ConfigOptionsAdapter pathSeparator(char value) {
((Config) super.configuration()).setPathSeparator(value);
return this;
}
@NotNull
public ConfigOptionsAdapter header(@Nullable String value) {
if (value == null) {
((Config) super.configuration()).setHeader((List) null);
} else {
((Config) super.configuration()).setHeader(value.split("\n"));
}
return this;
}
@NotNull
public ConfigOptionsAdapter copyHeader(boolean value) {
if (!value) {
((Config) super.configuration()).setHeader((List) null);
}
return this;
}
public int indent() {
return ((Config) super.configuration()).getIndent();
}
@NotNull
public ConfigOptionsAdapter indent(int value) {
((Config) super.configuration()).setIndent(value);
return this;
}
}