From e13ddba67cf5e3c2557e99de9a47a79cc2b49d2b Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 7 Jul 2020 16:18:17 +0200 Subject: [PATCH] [New] Added *ToJsonVisitor.flatBagsByType() --- .../json/StrolchElementToJsonVisitor.java | 25 ++++++++++++++----- .../json/StrolchRootElementToJsonVisitor.java | 9 +++++-- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/json/StrolchElementToJsonVisitor.java b/li.strolch.model/src/main/java/li/strolch/model/json/StrolchElementToJsonVisitor.java index 244959083..1f56d5392 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/json/StrolchElementToJsonVisitor.java +++ b/li.strolch.model/src/main/java/li/strolch/model/json/StrolchElementToJsonVisitor.java @@ -46,6 +46,7 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor flatBags; + private Set flatBagsByType; private boolean withoutElementName; private boolean withLocator; private boolean withoutVersion; @@ -58,14 +59,15 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor(); this.ignoredBagTypes = new HashSet<>(); this.flatBags = new HashSet<>(); + this.flatBagsByType = new HashSet<>(); } public boolean isFlat() { return this.flat; } - public boolean isBagFlat(String badId) { - return this.flatBags.contains(badId); + public boolean isBagFlat(ParameterBag bag) { + return this.flatBags.contains(bag.getId()) || this.flatBagsByType.contains(bag.getType()); } public boolean isWithVersion() { @@ -152,6 +154,11 @@ public class StrolchElementToJsonVisitor implements StrolchElementVisitor { - private StrolchElementToJsonVisitor visitor = new StrolchElementToJsonVisitor(); + private final StrolchElementToJsonVisitor visitor = new StrolchElementToJsonVisitor(); @Override public JsonObject visitOrder(Order order) { @@ -114,6 +114,11 @@ public class StrolchRootElementToJsonVisitor implements StrolchRootElementVisito return this; } + public StrolchRootElementToJsonVisitor flatBagsByType(String... bagTypes) { + this.visitor.flatBagsByType(bagTypes); + return this; + } + public StrolchRootElementToJsonVisitor ignoreBag(String bagId) { this.visitor.ignoreBag(bagId); return this; @@ -134,7 +139,7 @@ public class StrolchRootElementToJsonVisitor implements StrolchRootElementVisito return this; } - public StrolchRootElementToJsonVisitor ignoreBagByType(String type) { + public StrolchRootElementToJsonVisitor ignoreBagByType(String... type) { this.visitor.ignoreBagByType(type); return this; }