From d2c1b24e4bea0b54b1af2a3f78e78eb2c840b51b Mon Sep 17 00:00:00 2001 From: snowleo Date: Mon, 2 Jan 2012 23:45:50 +0100 Subject: [PATCH] Prototype for grouping permissions into an enum --- .../earth2me/essentials/api/IPermission.java | 5 ++++ .../com/earth2me/essentials/user/User.java | 5 ++++ .../essentials/protect/Permissions.java | 25 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Essentials/src/com/earth2me/essentials/api/IPermission.java create mode 100644 EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java diff --git a/Essentials/src/com/earth2me/essentials/api/IPermission.java b/Essentials/src/com/earth2me/essentials/api/IPermission.java new file mode 100644 index 000000000..5ce7a654b --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/api/IPermission.java @@ -0,0 +1,5 @@ +package com.earth2me.essentials.api; + +public interface IPermission { + String getPermission(); +} diff --git a/Essentials/src/com/earth2me/essentials/user/User.java b/Essentials/src/com/earth2me/essentials/user/User.java index 6c5d50a1f..780109409 100644 --- a/Essentials/src/com/earth2me/essentials/user/User.java +++ b/Essentials/src/com/earth2me/essentials/user/User.java @@ -86,6 +86,11 @@ public class User extends UserBase implements IUser return ess.getPermissionsHandler().hasPermission(base, node); } + + public boolean isAuthorized(IPermission permission) + { + return isAuthorized(permission.getPermission()); + } @Override public boolean isAuthorized(IEssentialsCommand cmd) diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java new file mode 100644 index 000000000..699af6a9b --- /dev/null +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/Permissions.java @@ -0,0 +1,25 @@ +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.api.IPermission; +import java.util.Locale; + + +public enum Permissions implements IPermission +{ + PREVENTDAMAGE_FALL, + PREVENTDAMAGE_NONE + ; + private static final String base = "essentials.protect."; + private final String permission; + + private Permissions() + { + permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.'); + } + + @Override + public String getPermission() + { + return permission; + } +}