Generic cleanup of warnings, whitespace and style.
By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
@@ -48,7 +48,7 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
if (file == null) {
|
||||
throw new IllegalArgumentException("File cannot be null");
|
||||
}
|
||||
|
||||
|
||||
Files.createParentDirs(file);
|
||||
|
||||
String data = saveToString();
|
||||
@@ -76,7 +76,7 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
if (file == null) {
|
||||
throw new IllegalArgumentException("File cannot be null");
|
||||
}
|
||||
|
||||
|
||||
save(new File(file));
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
|
||||
load(new FileInputStream(file));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loads this {@link FileConfiguration} from the specified stream.
|
||||
* <p>
|
||||
@@ -124,7 +124,7 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
if (stream == null) {
|
||||
throw new IllegalArgumentException("Stream cannot be null");
|
||||
}
|
||||
|
||||
|
||||
InputStreamReader reader = new InputStreamReader(stream);
|
||||
StringBuilder builder = new StringBuilder();
|
||||
BufferedReader input = new BufferedReader(reader);
|
||||
@@ -178,13 +178,13 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
* @throws IllegalArgumentException Thrown if contents is null.
|
||||
*/
|
||||
public abstract void loadFromString(String contents) throws InvalidConfigurationException;
|
||||
|
||||
|
||||
/**
|
||||
* Compiles the header for this {@link FileConfiguration} and returns the result.
|
||||
* <p>
|
||||
* This will use the header from {@link #options()} -> {@link FileConfigurationOptions#header()},
|
||||
* respecting the rules of {@link FileConfigurationOptions#copyHeader()} if set.
|
||||
*
|
||||
*
|
||||
* @return Compiled header
|
||||
*/
|
||||
protected abstract String buildHeader();
|
||||
@@ -194,7 +194,7 @@ public abstract class FileConfiguration extends MemoryConfiguration {
|
||||
if (options == null) {
|
||||
options = new FileConfigurationOptions(this);
|
||||
}
|
||||
|
||||
return (FileConfigurationOptions)options;
|
||||
|
||||
return (FileConfigurationOptions) options;
|
||||
}
|
||||
}
|
||||
@@ -8,14 +8,14 @@ import org.bukkit.configuration.*;
|
||||
public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
private String header = null;
|
||||
private boolean copyHeader = true;
|
||||
|
||||
|
||||
protected FileConfigurationOptions(MemoryConfiguration configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileConfiguration configuration() {
|
||||
return (FileConfiguration)super.configuration();
|
||||
return (FileConfiguration) super.configuration();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -29,7 +29,7 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
super.pathSeparator(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the header that will be applied to the top of the saved output.
|
||||
* <p>
|
||||
@@ -40,13 +40,13 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
* <p>
|
||||
* Null is a valid value which will indicate that no header is to be applied.
|
||||
* The default value is null.
|
||||
*
|
||||
*
|
||||
* @return Header
|
||||
*/
|
||||
public String header() {
|
||||
return header;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the header that will be applied to the top of the saved output.
|
||||
* <p>
|
||||
@@ -56,8 +56,8 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
* but you may include one if you wish for extra spacing.
|
||||
* <p>
|
||||
* Null is a valid value which will indicate that no header is to be applied.
|
||||
* The default value is null.
|
||||
*
|
||||
*
|
||||
* @param value New header
|
||||
* @return This object, for chaining
|
||||
*/
|
||||
@@ -65,7 +65,7 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
this.header = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets whether or not the header should be copied from a default source.
|
||||
* <p>
|
||||
@@ -78,13 +78,13 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
* specified in this configuration will be used.
|
||||
* <p>
|
||||
* Defaults to true.
|
||||
*
|
||||
*
|
||||
* @return Whether or not to copy the header
|
||||
*/
|
||||
public boolean copyHeader() {
|
||||
return copyHeader;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets whether or not the header should be copied from a default source.
|
||||
* <p>
|
||||
@@ -97,13 +97,13 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions {
|
||||
* specified in this configuration will be used.
|
||||
* <p>
|
||||
* Defaults to true.
|
||||
*
|
||||
*
|
||||
* @param value Whether or not to copy the header
|
||||
* @return This object, for chaining
|
||||
*/
|
||||
public FileConfigurationOptions copyHeader(boolean value) {
|
||||
copyHeader = value;
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,14 +4,14 @@ import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.Configuration;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.serialization.ConfigurationSerializable;
|
||||
import org.bukkit.configuration.serialization.ConfigurationSerialization;
|
||||
import org.yaml.snakeyaml.DumperOptions;
|
||||
@@ -33,20 +33,20 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
@Override
|
||||
public String saveToString() {
|
||||
Map<String, Object> output = new LinkedHashMap<String, Object>();
|
||||
|
||||
|
||||
yamlOptions.setIndent(options().indent());
|
||||
yamlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
|
||||
yamlRepresenter.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
|
||||
|
||||
|
||||
serializeValues(output, getValues(false));
|
||||
|
||||
|
||||
String header = buildHeader();
|
||||
String dump = yaml.dump(output);
|
||||
|
||||
|
||||
if (dump.equals(BLANK_CONFIG)) {
|
||||
dump = "";
|
||||
}
|
||||
|
||||
|
||||
return header + dump;
|
||||
}
|
||||
|
||||
@@ -55,45 +55,47 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
if (contents == null) {
|
||||
throw new IllegalArgumentException("Contents cannot be null");
|
||||
}
|
||||
|
||||
Map<Object, Object> input = (Map<Object, Object>)yaml.load(contents);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<Object, Object> input = (Map<Object, Object>) yaml.load(contents);
|
||||
int size = (input == null) ? 0 : input.size();
|
||||
Map<String, Object> result = new LinkedHashMap<String, Object>(size);
|
||||
|
||||
|
||||
if (size > 0) {
|
||||
for (Map.Entry<Object, Object> entry : input.entrySet()) {
|
||||
result.put(entry.getKey().toString(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
String header = parseHeader(contents);
|
||||
|
||||
|
||||
if (header.length() > 0) {
|
||||
options().header(header);
|
||||
}
|
||||
|
||||
|
||||
deserializeValues(result, this);
|
||||
}
|
||||
|
||||
|
||||
protected void deserializeValues(Map<String, Object> input, ConfigurationSection section) throws InvalidConfigurationException {
|
||||
if (input == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (Map.Entry<String, Object> entry : input.entrySet()) {
|
||||
Object value = entry.getValue();
|
||||
|
||||
|
||||
if (value instanceof Map) {
|
||||
Map<Object, Object> subinput = (Map<Object, Object>)value;
|
||||
@SuppressWarnings("unchecked")
|
||||
Map<Object, Object> subinput = (Map<Object, Object>) value;
|
||||
int size = (subinput == null) ? 0 : subinput.size();
|
||||
Map<String, Object> subvalues = new LinkedHashMap<String, Object>(size);
|
||||
|
||||
|
||||
if (size > 0) {
|
||||
for (Map.Entry<Object, Object> subentry : subinput.entrySet()) {
|
||||
subvalues.put(subentry.getKey().toString(), subentry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (subvalues.containsKey(ConfigurationSerialization.SERIALIZED_TYPE_KEY)) {
|
||||
try {
|
||||
ConfigurationSerializable serializable = ConfigurationSerialization.deserializeObject(subvalues);
|
||||
@@ -110,51 +112,51 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void serializeValues(Map<String, Object> output, Map<String, Object> input) {
|
||||
if (input == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (Map.Entry<String, Object> entry : input.entrySet()) {
|
||||
Object value = entry.getValue();
|
||||
|
||||
|
||||
if (value instanceof ConfigurationSection) {
|
||||
ConfigurationSection subsection = (ConfigurationSection)entry.getValue();
|
||||
ConfigurationSection subsection = (ConfigurationSection) entry.getValue();
|
||||
Map<String, Object> subvalues = new LinkedHashMap<String, Object>();
|
||||
|
||||
|
||||
serializeValues(subvalues, subsection.getValues(false));
|
||||
value = subvalues;
|
||||
} else if (value instanceof ConfigurationSerializable) {
|
||||
ConfigurationSerializable serializable = (ConfigurationSerializable)value;
|
||||
ConfigurationSerializable serializable = (ConfigurationSerializable) value;
|
||||
Map<String, Object> subvalues = new LinkedHashMap<String, Object>();
|
||||
subvalues.put(ConfigurationSerialization.SERIALIZED_TYPE_KEY, ConfigurationSerialization.getAlias(serializable.getClass()));
|
||||
|
||||
|
||||
serializeValues(subvalues, serializable.serialize());
|
||||
value = subvalues;
|
||||
} else if ((!isPrimitiveWrapper(value)) && (!isNaturallyStorable(value))) {
|
||||
throw new IllegalStateException("Configuration contains non-serializable values, cannot process");
|
||||
}
|
||||
|
||||
|
||||
if (value != null) {
|
||||
output.put(entry.getKey(), value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected String parseHeader(String input) {
|
||||
String[] lines = input.split("\r?\n", -1);
|
||||
StringBuilder result = new StringBuilder();
|
||||
boolean readingHeader = true;
|
||||
|
||||
|
||||
for (int i = 0; (i < lines.length) && (readingHeader); i++) {
|
||||
String line = lines[i];
|
||||
|
||||
|
||||
if (line.startsWith(COMMENT_PREFIX)) {
|
||||
if (i > 0) {
|
||||
result.append("\n");
|
||||
}
|
||||
|
||||
|
||||
if (line.length() > COMMENT_PREFIX.length()) {
|
||||
result.append(line.substring(COMMENT_PREFIX.length()));
|
||||
}
|
||||
@@ -164,44 +166,45 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
readingHeader = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected String buildHeader() {
|
||||
String header = options().header();
|
||||
|
||||
|
||||
if (options().copyHeader()) {
|
||||
Configuration def = getDefaults();
|
||||
|
||||
|
||||
if ((def != null) && (def instanceof FileConfiguration)) {
|
||||
FileConfiguration filedefaults = (FileConfiguration)def;
|
||||
FileConfiguration filedefaults = (FileConfiguration) def;
|
||||
String defaultsHeader = filedefaults.buildHeader();
|
||||
|
||||
|
||||
if ((defaultsHeader != null) && (defaultsHeader.length() > 0)) {
|
||||
return defaultsHeader;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (header == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
String[] lines = header.split("\r?\n", -1);
|
||||
boolean startedHeader = false;
|
||||
|
||||
|
||||
for (int i = lines.length - 1; i >= 0; i--) {
|
||||
builder.insert(0, "\n");
|
||||
|
||||
|
||||
if ((startedHeader) || (lines[i].length() != 0)) {
|
||||
builder.insert(0, lines[i]);
|
||||
builder.insert(0, COMMENT_PREFIX);
|
||||
startedHeader = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@@ -210,16 +213,16 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
if (options == null) {
|
||||
options = new YamlConfigurationOptions(this);
|
||||
}
|
||||
|
||||
return (YamlConfigurationOptions)options;
|
||||
|
||||
return (YamlConfigurationOptions) options;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new {@link YamlConfiguration}, loading from the given file.
|
||||
* <p>
|
||||
* Any errors loading the Configuration will be logged and then ignored.
|
||||
* If the specified input is not a valid config, a blank config will be returned.
|
||||
*
|
||||
*
|
||||
* @param file Input file
|
||||
* @return Resulting configuration
|
||||
* @throws IllegalArgumentException Thrown is file is null
|
||||
@@ -228,9 +231,9 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
if (file == null) {
|
||||
throw new IllegalArgumentException("File cannot be null");
|
||||
}
|
||||
|
||||
|
||||
YamlConfiguration config = new YamlConfiguration();
|
||||
|
||||
|
||||
try {
|
||||
config.load(file);
|
||||
} catch (FileNotFoundException ex) {
|
||||
@@ -245,16 +248,16 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file + ": " + ex.getCause().getClass(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new {@link YamlConfiguration}, loading from the given stream.
|
||||
* <p>
|
||||
* Any errors loading the Configuration will be logged and then ignored.
|
||||
* If the specified input is not a valid config, a blank config will be returned.
|
||||
*
|
||||
*
|
||||
* @param stream Input stream
|
||||
* @return Resulting configuration
|
||||
* @throws IllegalArgumentException Thrown is stream is null
|
||||
@@ -263,9 +266,9 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
if (stream == null) {
|
||||
throw new IllegalArgumentException("Stream cannot be null");
|
||||
}
|
||||
|
||||
|
||||
YamlConfiguration config = new YamlConfiguration();
|
||||
|
||||
|
||||
try {
|
||||
config.load(stream);
|
||||
} catch (IOException ex) {
|
||||
@@ -279,7 +282,7 @@ public class YamlConfiguration extends FileConfiguration {
|
||||
Bukkit.getLogger().log(Level.SEVERE, "Cannot load configuration: " + ex.getCause().getClass(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return config;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,14 +5,14 @@ package org.bukkit.configuration.file;
|
||||
*/
|
||||
public class YamlConfigurationOptions extends FileConfigurationOptions {
|
||||
private int indent = 2;
|
||||
|
||||
|
||||
protected YamlConfigurationOptions(YamlConfiguration configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
|
||||
@Override
|
||||
public YamlConfiguration configuration() {
|
||||
return (YamlConfiguration)super.configuration();
|
||||
return (YamlConfiguration) super.configuration();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -38,23 +38,23 @@ public class YamlConfigurationOptions extends FileConfigurationOptions {
|
||||
super.copyHeader(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets how much spaces should be used to indent each line.
|
||||
* <p>
|
||||
* The minimum value this may be is 2, and the maximum is 9.
|
||||
*
|
||||
*
|
||||
* @return How much to indent by
|
||||
*/
|
||||
public int indent() {
|
||||
return indent;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets how much spaces should be used to indent each line.
|
||||
* <p>
|
||||
* The minimum value this may be is 2, and the maximum is 9.
|
||||
*
|
||||
*
|
||||
* @param value New indent
|
||||
* @return This object, for chaining
|
||||
*/
|
||||
@@ -62,7 +62,7 @@ public class YamlConfigurationOptions extends FileConfigurationOptions {
|
||||
if ((indent < 2) || (value > 9)) {
|
||||
throw new IllegalArgumentException("Indent must be between 1 and 10 characters");
|
||||
}
|
||||
|
||||
|
||||
this.indent = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user