package tk.amberide.ide.tool; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.util.List; import java.util.Map; import org.yaml.snakeyaml.Yaml; /** * * @author Tudor */ public class ToolManifest { private final String name, description, version, main; private final String[] authors; public ToolManifest(File file) throws FileNotFoundException { this(new FileInputStream(file)); } public ToolManifest(InputStream in) { Yaml yaml = new Yaml(); Map<String, Object> values = (Map<String, Object>) yaml.load(in); name = (String) values.get("name"); description = (String) values.get("description"); main = (String) values.get("main"); version = (String) values.get("version"); if (values.containsKey("author")) { authors = new String[]{(String) values.get("author")}; } else { authors = (String[]) ((List) values.get("authors")).toArray(new String[0]); } } /** * @return the name */ public String name() { return name; } /** * @return the description */ public String description() { return description; } /** * @return the version */ public String version() { return version; } /** * @return the main */ public String main() { return main; } /** * @return the authors */ public String[] authors() { return authors; } }