package org.aksw.jena_sparql_api.batch.cli.main;
import java.util.Map.Entry;
import org.aksw.gson.utils.JsonVisitorRewrite;
import com.google.common.base.Function;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
public class JsonVisitorRewriteKeys
extends JsonVisitorRewrite
{
protected Function<JsonElement, JsonElement> subRewriter;
public JsonVisitorRewriteKeys(Function<JsonElement, JsonElement> subRewriter) {
this.subRewriter = subRewriter;
}
@Override
public JsonObject visit(JsonObject json) {
JsonObject result = new JsonObject();
for(Entry<String, JsonElement> entry : json.entrySet()) {
String key = entry.getKey();
JsonElement before = entry.getValue();
JsonElement after = subRewriter.apply(before);
result.add(key, after);
}
return result;
}
public static JsonVisitorRewriteKeys create(Function<JsonElement, JsonElement> subRewriter) {
JsonVisitorRewriteKeys result = new JsonVisitorRewriteKeys(subRewriter);
return result;
}
}