From aef49466f1f92eec2e5f75a863370288d625bb2e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 7 Jun 2017 23:55:32 -0400 Subject: [PATCH] move hasPermission to manager --- core/src/main/java/co/aikar/commands/BaseCommand.java | 2 +- core/src/main/java/co/aikar/commands/CommandManager.java | 7 ++++++- .../src/main/java/co/aikar/commands/RegisteredCommand.java | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index e63b2b42..1b6dd292 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -499,7 +499,7 @@ public abstract class BaseCommand { } public boolean hasPermission(CommandIssuer sender) { - return permission == null || permission.isEmpty() || sender.hasPermission(permission); + return manager.hasPermission(sender, permission); } public String getName() { diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index eb7dcbb4..5929726d 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -69,6 +69,11 @@ abstract class CommandManager { public abstract void registerCommand(BaseCommand command); public abstract boolean hasRegisteredCommands(); public abstract boolean isCommandIssuer(Class type); + + public boolean hasPermission(CommandIssuer issuer, String permission) { + return permission == null || permission.isEmpty() || issuer.hasPermission(permission); + } + public abstract CommandIssuer getCommandIssuer(Object issuer); public abstract RootCommand createRootCommand(String cmd); @@ -84,7 +89,7 @@ abstract class CommandManager { public RegisteredCommand createRegisteredCommand(BaseCommand command, String cmdName, Method method, String prefSubCommand) { return new RegisteredCommand(command, cmdName, method, prefSubCommand); } - public abstract void log(final LogLevel level, final String message); + public abstract void log(final LogLevel level, final String message, final Throwable throwable); } diff --git a/core/src/main/java/co/aikar/commands/RegisteredCommand.java b/core/src/main/java/co/aikar/commands/RegisteredCommand.java index cc312000..be32a4b6 100644 --- a/core/src/main/java/co/aikar/commands/RegisteredCommand.java +++ b/core/src/main/java/co/aikar/commands/RegisteredCommand.java @@ -218,8 +218,8 @@ public class RegisteredCommand