package com.comphenix.xp.parser; import java.util.ArrayList; import java.util.List; import org.bukkit.configuration.ConfigurationSection; /** * Converts a configuration object into a list of strings. * * @author Kristian */ public class StringListParser extends ConfigurationParser<List<String>> { @Override public List<String> parse(ConfigurationSection config, String key) throws ParsingException { List<String> result = parseSafe(config, key); // Check for no results if (result != null) return result; else throw ParsingException.fromFormat("Unable to parse string list %s.", key); } @Override public List<String> parse(ConfigurationSection config, String key, List<String> defaultValue) { List<String> result = parseSafe(config, key); if (result != null) return result; else return defaultValue; } public List<String> parseSafe(ConfigurationSection config, String key) { List<String> result = new ArrayList<String>(); // Retrieve string elements if (config.isString(key)) result.add(config.getString(key)); else if (config.isList(key)) result.addAll(config.getStringList(key)); else return null; return result; } }