[New] Added StrolchElementToJsonVisitor.bagHook()

This commit is contained in:
Robert von Burg 2019-01-07 13:56:55 +01:00
parent 3bbfcab345
commit 9636be57c7
1 changed files with 15 additions and 3 deletions

View File

@ -34,6 +34,7 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor<JsonEl
private Set<String> ignoredTimedStates;
private Set<String> ignoredBagTypes;
private BiConsumer<ParameterBag, JsonObject> bagHook;
private BiConsumer<Resource, JsonObject> resourceHook;
private BiConsumer<Order, JsonObject> orderHook;
private BiConsumer<Activity, JsonObject> activityHook;
@ -141,6 +142,11 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor<JsonEl
return this;
}
public StrolchElementToJsonVisitor bagHook(BiConsumer<ParameterBag, JsonObject> hook) {
this.bagHook = hook;
return this;
}
public StrolchElementToJsonVisitor resourceHook(BiConsumer<Resource, JsonObject> hook) {
this.resourceHook = hook;
return this;
@ -291,12 +297,15 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor<JsonEl
if (isFlat()) {
JsonObject rootJ = new JsonObject();
JsonObject bagJ = new JsonObject();
Set<String> ignoredParamIds = this.ignoredKeys.getSet(bag.getId());
addParameterBagFlat(rootJ, ignoredParamIds, bag);
addParameterBagFlat(bagJ, ignoredParamIds, bag);
return rootJ;
if (this.bagHook != null)
this.bagHook.accept(bag, bagJ);
return bagJ;
}
return parameterBagToJsonFull(bag);
@ -552,6 +561,9 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor<JsonEl
paramsJ.add(paramKey, paramToJsonFull(param));
}
if (this.bagHook != null)
this.bagHook.accept(bag, bagJ);
return bagJ;
}