package org.aksw.jena_sparql_api.batch.to_review; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; /** * Json simple transformer: * $foo: { attrs } * -> { attrs } union { type: f(foo) } * * * @author raven * */ public class MapTransformerSimple implements MapTransformer { private Map<String, Object> defaults; public MapTransformerSimple() { this(new HashMap<String, Object>()); } public MapTransformerSimple(Object ... pairs) { Map<String, Object> map = new HashMap<String, Object>(); for(int i = 0; i < pairs.length; i+=2) { String k = (String)pairs[i]; Object v = pairs[i + 1]; map.put(k, v); } this.defaults = map; } public MapTransformerSimple(Map<String, Object> defaults) { this.defaults = defaults; } @Override public Map<String, Object> apply(Map<String, Object> map) { Map<String, Object> result = new LinkedHashMap<String, Object>(); result.putAll(map); result.putAll(defaults); return result; } }