package com.caseystella.util.common.interpret.xpath; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; import org.jdom2.Document; import org.jdom2.JDOMException; import java.io.IOException; import java.io.Reader; import java.util.LinkedHashMap; import java.util.Map; /** * Created by cstella on 9/4/14. */ public class Config { private static ObjectMapper mapper = new ObjectMapper(); private Field[] fields; public Field[] getFields() { return fields; } public void setFields(Field[] fields) { this.fields = fields; } public static Config load(Reader input) throws IOException { Config config = mapper.readValue(input, new TypeReference<Config>(){}); return config; } public Map<String, String> getContent(Document doc) throws JDOMException { LinkedHashMap<String, String> ret = new LinkedHashMap<String, String>(); for(Field f : getFields()) { String val = f.extractXPath(doc); ret.put(f.getName(), val); } return ret; } }