package tc.oc.commons.bungee.configuration;
import java.util.HashMap;
import java.util.Map;
import net.md_5.bungee.config.Configuration;
public class ConfigUtils {
private ConfigUtils() {}
public static Map<String, Object> toMap(Configuration config) {
Map<String, Object> result = new HashMap<>();
for(String key : config.getKeys()) {
result.put(key, config.get(key));
}
return result;
}
public static Map<String, Object> toFlatMap(Configuration config) {
Map<String, Object> result = new HashMap<>();
if(config != null) buildFlatMap(result, null, toMap(config));
return result;
}
private static void buildFlatMap(Map<String, Object> result, String path, Map<String, Object> config) {
for(Map.Entry<String, Object> entry : config.entrySet()) {
String key = entry.getKey();
if(path != null) key = path + "." + key;
final Object value = entry.getValue();
if(value instanceof Map) {
buildFlatMap(result, key, (Map<String, Object>) value);
} else {
result.put(key, value);
}
}
}
}