diff options
Diffstat (limited to 'dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java')
-rw-r--r-- | dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java b/dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java index 0c4c476..0cfd755 100644 --- a/dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java +++ b/dicore3/command/src/main/java/io/dico/dicore/command/ModifiableCommandAddress.java @@ -2,6 +2,8 @@ package io.dico.dicore.command; import io.dico.dicore.command.chat.ChatHandlers; import io.dico.dicore.command.chat.IChatHandler; +import io.dico.dicore.command.parameter.ArgumentBuffer; +import io.dico.dicore.command.parameter.ParameterList; import io.dico.dicore.command.predef.DefaultGroupCommand; import io.dico.dicore.command.predef.HelpCommand; import io.dico.dicore.command.predef.PredefinedCommand; @@ -36,7 +38,7 @@ public abstract class ModifiableCommandAddress implements ICommandAddress { @Override public boolean hasUserDeclaredCommand() { Command command = getCommand(); - return command != null && !(command instanceof PredefinedCommand) && !(command instanceof DefaultGroupCommand); + return command != null && !(command instanceof PredefinedCommand); } @Override @@ -139,8 +141,8 @@ public abstract class ModifiableCommandAddress implements ICommandAddress { } @Override - public ChildCommandAddress getChild(String key, ExecutionContext context) throws CommandException { - return getChild(key); + public ChildCommandAddress getChild(ExecutionContext context, ArgumentBuffer buffer) throws CommandException { + return buffer.hasNext() ? getChild(buffer.next()) : null; } public void addChild(ICommandAddress child) { @@ -264,6 +266,15 @@ public abstract class ModifiableCommandAddress implements ICommandAddress { return getRoot(); } + @Override + public boolean isCommandTrailing() { + return false; + } + + public void setCommandTrailing(boolean trailing) { + throw new UnsupportedOperationException(); + } + void appendDebugInformation(StringBuilder target, String linePrefix, Set<ICommandAddress> seen) { target.append('\n').append(linePrefix); if (!seen.add(this)) { |