diff options
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.java | 13 |
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); } |