summaryrefslogtreecommitdiff
path: root/dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java
diff options
context:
space:
mode:
Diffstat (limited to 'dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java')
-rw-r--r--dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java b/dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java
index 022904e..9a26f61 100644
--- a/dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java
+++ b/dicore3/command/src/main/java/io/dico/dicore/command/ChildCommandAddress.java
@@ -10,6 +10,7 @@ public class ChildCommandAddress extends ModifiableCommandAddress {
final List<String> namesModifiable = new ArrayList<>(4);
List<String> names = namesModifiable;
Command command;
+ boolean isCommandTrailing;
public ChildCommandAddress() {
}
@@ -89,7 +90,7 @@ public class ChildCommandAddress extends ModifiableCommandAddress {
}
public void finalizeNames() {
- if (names instanceof ArrayList) {
+ if (names == namesModifiable) {
names = Collections.unmodifiableList(namesModifiable);
}
}
@@ -103,4 +104,17 @@ public class ChildCommandAddress extends ModifiableCommandAddress {
this.parent = parent;
}
+ @Override
+ public boolean isCommandTrailing() {
+ return isCommandTrailing;
+ }
+
+ @Override
+ public void setCommandTrailing(boolean trailing) {
+ if (hasChildren()) {
+ throw new IllegalStateException("Address already has children, this property can't be modified");
+ }
+ isCommandTrailing = trailing;
+ }
+
}