forked from SteamWar/SteamWar
Improve YMLWrapper
This commit is contained in:
@@ -88,41 +88,12 @@ public class YMLWrapperImpl<ST> extends YMLWrapper<String, ST, String> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getString(String path, String defaultValue) {
|
||||
public <T> T get(String path, T defaultValue, Function<Object, T> mapper) {
|
||||
Object value = this.document.get(path);
|
||||
if (value instanceof String) {
|
||||
return (String) value;
|
||||
} else {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInt(String path, int defaultValue) {
|
||||
Object value = this.document.get(path);
|
||||
if (value instanceof Integer) {
|
||||
return (Integer) value;
|
||||
} else {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDouble(String path, double defaultValue) {
|
||||
Object value = this.document.get(path);
|
||||
if (value instanceof Double) {
|
||||
return (Double) value;
|
||||
} else {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getBoolean(String path, boolean defaultValue) {
|
||||
Object value = this.document.get(path);
|
||||
if (value instanceof Boolean) {
|
||||
return (Boolean) value;
|
||||
} else {
|
||||
if (value == null) return defaultValue;
|
||||
try {
|
||||
return mapper.apply(value);
|
||||
} catch (ClassCastException e) {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user