Added more config methods

This commit is contained in:
Auxilor
2021-07-18 23:37:41 +01:00
committed by Auxilor
parent fb900a18ad
commit eadbb489a7
4 changed files with 113 additions and 1 deletions

View File

@@ -162,6 +162,17 @@ public interface Config extends Cloneable {
@NotNull
String getString(@NotNull String path);
/**
* Get a string from config.
*
* @param path The key to fetch the value from.
* @param format If the string should be formatted.
* @return The found value, or an empty string if not found.
*/
@NotNull
String getString(@NotNull String path,
boolean format);
/**
* Get a string from config.
*
@@ -171,6 +182,17 @@ public interface Config extends Cloneable {
@Nullable
String getStringOrNull(@NotNull String path);
/**
* Get a string from config.
*
* @param path The key to fetch the value from.
* @param format If the string should be formatted.
* @return The found value, or null if not found.
*/
@Nullable
String getStringOrNull(@NotNull String path,
boolean format);
/**
* Get a list of strings from config.
* <p>
@@ -202,6 +224,17 @@ public interface Config extends Cloneable {
@Nullable
List<String> getStringsOrNull(@NotNull String path);
/**
* Get a list of strings from config.
*
* @param path The key to fetch the value from.
* @param format If the strings should be formatted.
* @return The found value, or null if not found.
*/
@Nullable
List<String> getStringsOrNull(@NotNull String path,
boolean format);
/**
* Get a decimal from config.
*

View File

@@ -117,11 +117,23 @@ public abstract class ConfigWrapper<T extends Config> implements Config {
return handle.getString(path);
}
@Override
public @NotNull String getString(@NotNull final String path,
final boolean format) {
return handle.getString(path, format);
}
@Override
public @Nullable String getStringOrNull(@NotNull final String path) {
return handle.getStringOrNull(path);
}
@Override
public @Nullable String getStringOrNull(@NotNull final String path,
final boolean format) {
return handle.getStringOrNull(path, format);
}
@Override
public @NotNull List<String> getStrings(@NotNull final String path) {
return handle.getStrings(path);
@@ -138,6 +150,12 @@ public abstract class ConfigWrapper<T extends Config> implements Config {
return handle.getStringsOrNull(path);
}
@Override
public @Nullable List<String> getStringsOrNull(@NotNull final String path,
final boolean format) {
return handle.getStringsOrNull(path, format);
}
@Override
public double getDouble(@NotNull final String path) {
return handle.getDouble(path);

View File

@@ -278,7 +278,15 @@ public class EcoJSONConfigWrapper implements JSONConfig {
@Override
@NotNull
public String getString(@NotNull final String path) {
return StringUtils.translate(Objects.requireNonNullElse(getOfKnownType(path, String.class), ""));
return getString(path, true);
}
@Override
@NotNull
public String getString(@NotNull final String path,
final boolean format) {
String string = Objects.requireNonNullElse(getOfKnownType(path, String.class), "");
return format ? StringUtils.translate(string) : string;
}
@Override
@@ -291,6 +299,17 @@ public class EcoJSONConfigWrapper implements JSONConfig {
}
}
@Override
@Nullable
public String getStringOrNull(@NotNull final String path,
final boolean format) {
if (has(path)) {
return getString(path, format);
} else {
return null;
}
}
@Override
@NotNull
public List<String> getStrings(@NotNull final String path) {
@@ -316,6 +335,16 @@ public class EcoJSONConfigWrapper implements JSONConfig {
}
}
@Override
public @Nullable List<String> getStringsOrNull(@NotNull final String path,
final boolean format) {
if (has(path)) {
return getStrings(path, format);
} else {
return null;
}
}
@Override
public double getDouble(@NotNull final String path) {
return Objects.requireNonNullElse(getOfKnownType(path, Double.class), 0D);

View File

@@ -207,6 +207,18 @@ public class EcoYamlConfigWrapper<T extends ConfigurationSection> implements Con
}
}
@Override
public @NotNull String getString(@NotNull final String path,
final boolean format) {
if (cache.containsKey(path)) {
return (String) cache.get(path);
} else {
String string = Objects.requireNonNull(handle.getString(path, ""));
cache.put(path, format ? StringUtils.translate(string) : string);
return getString(path);
}
}
@Override
@Nullable
public String getStringOrNull(@NotNull final String path) {
@@ -217,6 +229,16 @@ public class EcoYamlConfigWrapper<T extends ConfigurationSection> implements Con
}
}
@Override
public @Nullable String getStringOrNull(@NotNull final String path,
final boolean format) {
if (has(path)) {
return getString(path, format);
} else {
return null;
}
}
@Override
@NotNull
public List<String> getStrings(@NotNull final String path) {
@@ -245,6 +267,16 @@ public class EcoYamlConfigWrapper<T extends ConfigurationSection> implements Con
}
}
@Override
public @Nullable List<String> getStringsOrNull(@NotNull final String path,
final boolean format) {
if (has(path)) {
return getStrings(path, format);
} else {
return null;
}
}
@Override
public double getDouble(@NotNull final String path) {
if (cache.containsKey(path)) {