diff --git a/li.strolch.model/src/main/java/li/strolch/model/builder/ActionBuilder.java b/li.strolch.model/src/main/java/li/strolch/model/builder/ActionBuilder.java index 5aeb35052..fcbff8f94 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/builder/ActionBuilder.java +++ b/li.strolch.model/src/main/java/li/strolch/model/builder/ActionBuilder.java @@ -2,6 +2,7 @@ package li.strolch.model.builder; import li.strolch.model.PolicyContainer; import li.strolch.model.activity.Action; +import li.strolch.utils.dbc.DBC; public class ActionBuilder extends PolicyContainerBuilder implements ActivityElementBuilder { @@ -14,12 +15,14 @@ public class ActionBuilder extends PolicyContainerBuilder impleme super(id, name, type); this.builder = null; } + public ActionBuilder(ActivityBuilder builder, String id, String name, String type) { super(id, name, type); this.builder = builder; } public ActivityBuilder endAction() { + DBC.PRE.assertNotNull("Can not end, as not part of a builder context!", this.builder); return this.builder; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/builder/ActivityBuilder.java b/li.strolch.model/src/main/java/li/strolch/model/builder/ActivityBuilder.java index 886f1ac0f..79147292c 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/builder/ActivityBuilder.java +++ b/li.strolch.model/src/main/java/li/strolch/model/builder/ActivityBuilder.java @@ -15,7 +15,16 @@ public class ActivityBuilder extends RootElementBuilder impleme private final List builders; - public ActivityBuilder(StrolchElementBuilder builder, String id, String name, String type, TimeOrdering timeOrdering) { + public ActivityBuilder(String id, String name, String type, TimeOrdering timeOrdering) { + super(id, name, type); + this.builder = null; + this.parentBuilder = null; + this.timeOrdering = timeOrdering; + this.builders = new ArrayList<>(); + } + + public ActivityBuilder(StrolchElementBuilder builder, String id, String name, String type, + TimeOrdering timeOrdering) { super(id, name, type); this.builder = builder; this.parentBuilder = null; @@ -23,8 +32,8 @@ public class ActivityBuilder extends RootElementBuilder impleme this.builders = new ArrayList<>(); } - public ActivityBuilder(StrolchElementBuilder builder, ActivityBuilder parentBuilder, String id, String name, String type, - TimeOrdering timeOrdering) { + public ActivityBuilder(StrolchElementBuilder builder, ActivityBuilder parentBuilder, String id, String name, + String type, TimeOrdering timeOrdering) { super(id, name, type); this.builder = builder; this.parentBuilder = parentBuilder; @@ -50,6 +59,7 @@ public class ActivityBuilder extends RootElementBuilder impleme } public StrolchElementBuilder endActivity() { + DBC.PRE.assertNotNull("Can not end, as not part of a builder context!", this.builder); return this.builder; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/builder/OrderBuilder.java b/li.strolch.model/src/main/java/li/strolch/model/builder/OrderBuilder.java index a02f69ce3..0517f42db 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/builder/OrderBuilder.java +++ b/li.strolch.model/src/main/java/li/strolch/model/builder/OrderBuilder.java @@ -2,18 +2,25 @@ package li.strolch.model.builder; import li.strolch.model.Order; import li.strolch.model.State; +import li.strolch.utils.dbc.DBC; import li.strolch.utils.iso8601.ISO8601; public class OrderBuilder extends RootElementBuilder { private final StrolchElementBuilder builder; + public OrderBuilder(String id, String name, String type) { + super(id, name, type); + this.builder = null; + } + public OrderBuilder(StrolchElementBuilder builder, String id, String name, String type) { super(id, name, type); this.builder = builder; } public StrolchElementBuilder endOrder() { + DBC.PRE.assertNotNull("Can not end, as not part of a builder context!", this.builder); return this.builder; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/builder/ResourceBuilder.java b/li.strolch.model/src/main/java/li/strolch/model/builder/ResourceBuilder.java index c49daa455..e7fa809ab 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/builder/ResourceBuilder.java +++ b/li.strolch.model/src/main/java/li/strolch/model/builder/ResourceBuilder.java @@ -5,12 +5,19 @@ import java.util.List; import li.strolch.model.Resource; import li.strolch.model.builder.states.*; +import li.strolch.utils.dbc.DBC; public class ResourceBuilder extends RootElementBuilder { private final StrolchElementBuilder builder; private final List> timedStates; + public ResourceBuilder(String id, String name, String type) { + super(id, name, type); + this.builder = null; + this.timedStates = new ArrayList<>(); + } + public ResourceBuilder(StrolchElementBuilder builder, String id, String name, String type) { super(id, name, type); this.builder = builder; @@ -54,6 +61,7 @@ public class ResourceBuilder extends RootElementBuilder { } public StrolchElementBuilder endResource() { + DBC.PRE.assertNotNull("Can not end, as not part of a builder context!", this.builder); return this.builder; }