From 430678dbbc5eedf601c2c0ed21e5a412159dfb92 Mon Sep 17 00:00:00 2001 From: Chrissi <christopher@hbsc-werner.de> Date: Tue, 6 Aug 2019 13:16:42 +0200 Subject: [PATCH] make keep expression list to none final list --- .../grammar/CompoundKeepExpression.java | 25 +++++++++++++------ .../grammar/KeepReferenceExpression.java | 15 +---------- .../grammar/KeepSubTypeExpression.java | 15 +---------- .../grammar/KeepSuperTypeExpression.java | 5 +--- 4 files changed, 21 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/CompoundKeepExpression.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/CompoundKeepExpression.java index 1e253da..f822c7e 100644 --- a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/CompoundKeepExpression.java +++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/CompoundKeepExpression.java @@ -1,20 +1,31 @@ package org.rosi_project.model_sync.model_join.representation.grammar; +import java.util.ArrayList; import java.util.List; import javax.annotation.Nonnull; /** - * A {@code CompoundKeepExpression} is a special kind of {@code KeepExpression} which in turn may - * contain a number of other {@code KeepExpression}s. + * A {@code CompoundKeepExpression} is a special kind of {@code KeepExpression} + * which in turn may contain a number of other {@code KeepExpression}s. * * @author Rico Bergmann */ public abstract class CompoundKeepExpression extends KeepExpression { - /** - * Provides all the keep expressions that this expression is build of. - */ - @Nonnull - public abstract List<KeepExpression> getKeeps(); + @Nonnull + protected List<KeepExpression> keeps; + /** + * Provides all {@code KeepExpression keep expressions} that should be used + * to build the Join for the instances of the subclass, superclass or + * referenced instances. + */ + @Nonnull + public List<KeepExpression> getKeeps() { + return new ArrayList<>(keeps); + } + + public boolean addKeepExpression(KeepExpression keepExpression) { + return keeps.add(keepExpression); + } } diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepReferenceExpression.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepReferenceExpression.java index 307be52..66dd11b 100644 --- a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepReferenceExpression.java +++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepReferenceExpression.java @@ -108,13 +108,10 @@ public class KeepReferenceExpression extends CompoundKeepExpression { @Nonnull private final ReferenceDirection referenceDirection; - + @Nonnull private final ClassResource target; - @Nonnull - private final List<KeepExpression> keeps; - /** * Full constructor. * @@ -161,16 +158,6 @@ public class KeepReferenceExpression extends CompoundKeepExpression { return target; } - /** - * Provides all {@code KeepExpression keep expressions} that should be used to build the Join for - * the referenced instances. - */ - @Nonnull - @Override - public List<KeepExpression> getKeeps() { - return new ArrayList<>(keeps); - } - @Override public void accept(@Nonnull KeepExpressionVisitor visitor) { visitor.visit(this); diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSubTypeExpression.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSubTypeExpression.java index f3b82c3..9ccf55f 100644 --- a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSubTypeExpression.java +++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSubTypeExpression.java @@ -66,13 +66,10 @@ public class KeepSubTypeExpression extends CompoundKeepExpression { @Nonnull private final ClassResource typeToKeep; - + @Nonnull private final ClassResource target; - @Nonnull - private final List<KeepExpression> keeps; - /** * Full constructor. * @@ -106,16 +103,6 @@ public class KeepSubTypeExpression extends CompoundKeepExpression { return target; } - /** - * Provides all {@code KeepExpression keep expressions} that should be used to build the Join for - * the instances of the subclass instances. - */ - @Nonnull - @Override - public List<KeepExpression> getKeeps() { - return new ArrayList<>(keeps); - } - @Override public void accept(@Nonnull KeepExpressionVisitor visitor) { visitor.visit(this); diff --git a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSuperTypeExpression.java b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSuperTypeExpression.java index e4b1b81..d287d1d 100644 --- a/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSuperTypeExpression.java +++ b/src/main/java/org/rosi_project/model_sync/model_join/representation/grammar/KeepSuperTypeExpression.java @@ -65,13 +65,10 @@ public class KeepSuperTypeExpression extends CompoundKeepExpression { @Nonnull private final ClassResource typeToKeep; - + @Nonnull private final ClassResource target; - @Nonnull - private final List<KeepExpression> keeps; - /** * Full constructor. * -- GitLab