From 2e2bf893b2bec80ed6cf534d1e8d6cb0ebca2faf Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 5 Sep 2022 11:34:49 +0200 Subject: [PATCH] [New] Cloning without getters and setters --- .../strolch/model/AbstractStrolchElement.java | 6 ++--- .../model/GroupedParameterizedElement.java | 2 +- .../src/main/java/li/strolch/model/Order.java | 19 +++++--------- .../strolch/model/ParameterizedElement.java | 10 +++----- .../main/java/li/strolch/model/Resource.java | 11 +++----- .../li/strolch/model/activity/Action.java | 25 +++++++++++-------- .../li/strolch/model/activity/Activity.java | 22 ++++++---------- .../model/parameter/AbstractParameter.java | 10 ++++---- .../model/parameter/BooleanParameter.java | 5 +--- .../model/parameter/DateParameter.java | 5 +--- .../model/parameter/DurationParameter.java | 5 +--- .../model/parameter/FloatListParameter.java | 5 +--- .../model/parameter/FloatParameter.java | 5 +--- .../model/parameter/IntegerListParameter.java | 5 +--- .../model/parameter/IntegerParameter.java | 5 +--- .../model/parameter/LongListParameter.java | 5 +--- .../model/parameter/LongParameter.java | 5 +--- .../model/parameter/StringListParameter.java | 5 +--- .../model/parameter/StringParameter.java | 5 +--- .../model/parameter/TextParameter.java | 5 +--- 20 files changed, 56 insertions(+), 109 deletions(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/AbstractStrolchElement.java b/li.strolch.model/src/main/java/li/strolch/model/AbstractStrolchElement.java index 2f8d63776..efcbe7241 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/AbstractStrolchElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/AbstractStrolchElement.java @@ -109,9 +109,9 @@ public abstract class AbstractStrolchElement implements StrolchElement { * @param clone * the clone to fill */ - protected void fillClone(StrolchElement clone) { - clone.setId(getId()); - clone.setName(getName()); + protected void fillClone(AbstractStrolchElement clone) { + clone.id = this.id; + clone.name = this.name; } @Override diff --git a/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java b/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java index 5ad334f68..a7b255a00 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java @@ -282,7 +282,7 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement */ protected void fillClone(GroupedParameterizedElement clone) { super.fillClone(clone); - clone.setType(getType()); + clone.type = this.type; if (this.parameterBagMap != null) { for (ParameterBag bag : this.parameterBagMap.values()) diff --git a/li.strolch.model/src/main/java/li/strolch/model/Order.java b/li.strolch.model/src/main/java/li/strolch/model/Order.java index 95861a627..fcbe249c7 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/Order.java +++ b/li.strolch.model/src/main/java/li/strolch/model/Order.java @@ -231,22 +231,15 @@ public class Order extends AbstractStrolchRootElement implements StrolchRootElem @Override public Order getClone(boolean withVersion) { - Order clone = new Order(); - super.fillClone(clone); - - clone.setDate(this.date); - clone.setState(this.state); - - if (this.policyDefs != null) - clone.setPolicyDefs(this.policyDefs.getClone()); - - if (withVersion) - clone.setVersion(this.version); - + clone.date = this.date; + clone.state = this.state; clone.locator = this.locator; - + if (this.policyDefs != null) + clone.policyDefs = this.policyDefs.getClone(); + if (withVersion) + clone.version = this.version; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/ParameterizedElement.java b/li.strolch.model/src/main/java/li/strolch/model/ParameterizedElement.java index 2886999e7..4de9c961b 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/ParameterizedElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/ParameterizedElement.java @@ -89,7 +89,7 @@ public abstract class ParameterizedElement extends AbstractStrolchElement { throw new StrolchException(msg); } - this.type = type; + this.type = type.intern(); } /// @@ -1193,14 +1193,12 @@ public abstract class ParameterizedElement extends AbstractStrolchElement { return lb.build(); } - @Override - protected void fillClone(StrolchElement clone) { + protected void fillClone(ParameterizedElement clone) { super.fillClone(clone); - ParameterizedElement peClone = (ParameterizedElement) clone; - peClone.setType(this.type); + clone.type = this.type; if (this.parameterMap != null) { for (Parameter param : this.parameterMap.values()) { - peClone.addParameter(param.getClone()); + clone.addParameter(param.getClone()); } } } diff --git a/li.strolch.model/src/main/java/li/strolch/model/Resource.java b/li.strolch.model/src/main/java/li/strolch/model/Resource.java index 0c66ba5a2..09325f00e 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/Resource.java +++ b/li.strolch.model/src/main/java/li/strolch/model/Resource.java @@ -309,10 +309,9 @@ public class Resource extends AbstractStrolchRootElement implements StrolchRootE @Override public Resource getClone(boolean withVersion) { - Resource clone = new Resource(); - super.fillClone(clone); + clone.locator = this.locator; if (this.timedStateMap != null) { for (StrolchTimedState> timedState : this.timedStateMap.values()) { @@ -321,13 +320,9 @@ public class Resource extends AbstractStrolchRootElement implements StrolchRootE } if (this.policyDefs != null) - clone.setPolicyDefs(this.policyDefs.getClone()); - + clone.policyDefs = this.policyDefs.getClone(); if (withVersion) - clone.setVersion(this.version); - - clone.locator = this.locator; - + clone.version = this.version; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java index 5798b6e62..cc68c8f67 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java @@ -43,6 +43,7 @@ import li.strolch.utils.dbc.DBC; */ public class Action extends GroupedParameterizedElement implements IActivityElement, PolicyContainer { + protected Locator locator; protected Activity parent; protected String resourceId; protected String resourceType; @@ -211,10 +212,10 @@ public class Action extends GroupedParameterizedElement implements IActivityElem public Action getClone() { Action clone = new Action(); super.fillClone(clone); - - clone.setResourceId(this.resourceId); - clone.setResourceType(this.resourceType); - clone.setState(this.state); + clone.resourceId = this.resourceId; + clone.resourceType = this.resourceType; + clone.state = this.state; + clone.locator = this.locator; if (this.changes != null) { for (IValueChange> change : getChanges()) { @@ -223,8 +224,7 @@ public class Action extends GroupedParameterizedElement implements IActivityElem } if (this.policyDefs != null) - clone.setPolicyDefs(this.policyDefs.getClone()); - + clone.policyDefs = this.policyDefs.getClone(); return clone; } @@ -306,11 +306,14 @@ public class Action extends GroupedParameterizedElement implements IActivityElem @Override public Locator getLocator() { - LocatorBuilder lb = new LocatorBuilder(); - if (this.parent != null) - this.parent.fillLocator(lb); - fillLocator(lb); - return lb.build(); + if (this.locator == null) { + LocatorBuilder lb = new LocatorBuilder(); + if (this.parent != null) + this.parent.fillLocator(lb); + fillLocator(lb); + this.locator = lb.build(); + } + return this.locator; } @Override diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java index e0dc9d7ea..71d745ea8 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java @@ -696,27 +696,21 @@ public class Activity extends AbstractStrolchRootElement @Override public Activity getClone(boolean withVersion) { - Activity clone = new Activity(); - clone.timeOrdering = this.timeOrdering; - super.fillClone(clone); + clone.timeOrdering = this.timeOrdering; + clone.locator = this.locator; - if (this.elements == null) - return clone; - - for (IActivityElement element : this.elements.values()) { - clone.addElement(element.getClone()); + if (this.elements != null) { + for (IActivityElement element : this.elements.values()) { + clone.addElement(element.getClone()); + } } if (this.policyDefs != null) - clone.setPolicyDefs(this.policyDefs.getClone()); - + clone.policyDefs = this.policyDefs.getClone(); if (withVersion) - clone.setVersion(this.version); - - clone.locator = this.locator; - + clone.version = this.version; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/AbstractParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/AbstractParameter.java index 830d92fde..d649bccb7 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/AbstractParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/AbstractParameter.java @@ -181,13 +181,13 @@ public abstract class AbstractParameter extends AbstractStrolchElement implem * @param clone * the clone to fill */ - protected void fillClone(Parameter clone) { + protected void fillClone(AbstractParameter clone) { super.fillClone(clone); - clone.setHidden(this.hidden); - clone.setInterpretation(this.interpretation); - clone.setUom(this.uom); - clone.setIndex(this.index); + clone.hidden = this.hidden; + clone.interpretation = this.interpretation; + clone.uom = this.uom; + clone.index = this.index; } @SuppressWarnings("nls") diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/BooleanParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/BooleanParameter.java index 795658a89..1cc0ba073 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/BooleanParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/BooleanParameter.java @@ -126,11 +126,8 @@ public class BooleanParameter extends AbstractParameter { @Override public BooleanParameter getClone() { BooleanParameter clone = new BooleanParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/DateParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/DateParameter.java index c0463135e..048abf7e9 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/DateParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/DateParameter.java @@ -180,11 +180,8 @@ public class DateParameter extends AbstractParameter { @Override public DateParameter getClone() { DateParameter clone = new DateParameter(); - super.fillClone(clone); - - clone.setValueFromZonedDateTime(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/DurationParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/DurationParameter.java index a759776bb..2bebbd544 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/DurationParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/DurationParameter.java @@ -163,11 +163,8 @@ public class DurationParameter extends AbstractParameter { @Override public DurationParameter getClone() { DurationParameter clone = new DurationParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatListParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatListParameter.java index 830040fd4..340a95aba 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatListParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatListParameter.java @@ -74,11 +74,8 @@ public class FloatListParameter extends AbstractListParameter { @Override public FloatListParameter getClone() { FloatListParameter clone = new FloatListParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = new ArrayList<>(this.value); return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatParameter.java index b6193e878..8a379d9be 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/FloatParameter.java @@ -157,11 +157,8 @@ public class FloatParameter extends AbstractParameter { @Override public FloatParameter getClone() { FloatParameter clone = new FloatParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerListParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerListParameter.java index 088b72be9..6d992b508 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerListParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerListParameter.java @@ -74,11 +74,8 @@ public class IntegerListParameter extends AbstractListParameter { @Override public IntegerListParameter getClone() { IntegerListParameter clone = new IntegerListParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = new ArrayList<>(this.value); return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerParameter.java index 026804248..e8e8bb671 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/IntegerParameter.java @@ -150,11 +150,8 @@ public class IntegerParameter extends AbstractParameter { @Override public IntegerParameter getClone() { IntegerParameter clone = new IntegerParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/LongListParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/LongListParameter.java index b5b069479..7e3ae9339 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/LongListParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/LongListParameter.java @@ -74,11 +74,8 @@ public class LongListParameter extends AbstractListParameter { @Override public LongListParameter getClone() { LongListParameter clone = new LongListParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = new ArrayList<>(this.value); return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/LongParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/LongParameter.java index 6a9fb44f8..1f4eb6265 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/LongParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/LongParameter.java @@ -150,11 +150,8 @@ public class LongParameter extends AbstractParameter { @Override public LongParameter getClone() { LongParameter clone = new LongParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/StringListParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/StringListParameter.java index 6169bfd38..d055cdcac 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/StringListParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/StringListParameter.java @@ -74,11 +74,8 @@ public class StringListParameter extends AbstractListParameter { @Override public StringListParameter getClone() { StringListParameter clone = new StringListParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = new ArrayList<>(this.value); return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/StringParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/StringParameter.java index 6401c4d0c..4354d6e7e 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/StringParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/StringParameter.java @@ -149,11 +149,8 @@ public class StringParameter extends AbstractParameter { @Override public StringParameter getClone() { StringParameter clone = new StringParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; } diff --git a/li.strolch.model/src/main/java/li/strolch/model/parameter/TextParameter.java b/li.strolch.model/src/main/java/li/strolch/model/parameter/TextParameter.java index bef81290f..daa0b9ef5 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/parameter/TextParameter.java +++ b/li.strolch.model/src/main/java/li/strolch/model/parameter/TextParameter.java @@ -57,11 +57,8 @@ public class TextParameter extends StringParameter { @Override public TextParameter getClone() { TextParameter clone = new TextParameter(); - super.fillClone(clone); - - clone.setValue(this.value); - + clone.value = this.value; return clone; }