summaryrefslogtreecommitdiff
path: root/dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java')
-rw-r--r--dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java b/dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java
index 602760c..a34d30d 100644
--- a/dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java
+++ b/dicore3/command/src/main/java/io/dico/dicore/command/ExtendedCommand.java
@@ -2,10 +2,11 @@ package io.dico.dicore.command;
import io.dico.dicore.command.parameter.IArgumentPreProcessor;
import io.dico.dicore.command.parameter.Parameter;
+import io.dico.dicore.command.parameter.type.ParameterType;
@SuppressWarnings("unchecked")
public abstract class ExtendedCommand<T extends ExtendedCommand<T>> extends Command {
- protected final boolean modifiable;
+ protected boolean modifiable;
public ExtendedCommand() {
this(true);
@@ -25,6 +26,16 @@ public abstract class ExtendedCommand<T extends ExtendedCommand<T>> extends Comm
}
@Override
+ public T addContextFilter(IContextFilter contextFilter) {
+ return modifiable ? (T) super.addContextFilter(contextFilter) : newModifiableInstance().addContextFilter(contextFilter);
+ }
+
+ @Override
+ public T removeContextFilter(IContextFilter contextFilter) {
+ return modifiable ? (T) super.removeContextFilter(contextFilter) : newModifiableInstance().removeContextFilter(contextFilter);
+ }
+
+ @Override
public T requiredParameters(int requiredParameters) {
return modifiable ? (T) super.requiredParameters(requiredParameters) : newModifiableInstance().requiredParameters(requiredParameters);
}