diff options
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java')
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java b/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java index b65b0cdc6c..49b3a331f9 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/access/Permission.java @@ -20,19 +20,28 @@ */ package org.apache.qpid.server.security.access; -import org.apache.qpid.framing.AMQShortString; -import org.apache.qpid.server.exchange.Exchange; -import org.apache.qpid.server.queue.AMQQueue; +import org.apache.commons.lang.StringUtils; +/** + * An enumeration of all possible permissions that can be applied to an access control v2 rule. + */ public enum Permission { - CONSUME, - PUBLISH, - CREATEQUEUE, - CREATEEXCHANGE, - ACCESS, - BIND, - UNBIND, - DELETE, - PURGE -} + ALLOW, + ALLOW_LOG, + DENY, + DENY_LOG; + + public static Permission parse(String text) + { + + for (Permission permission : values()) + { + if (permission.name().equalsIgnoreCase(StringUtils.replaceChars(text, '-', '_'))) + { + return permission; + } + } + throw new IllegalArgumentException("Not a valid permission: " + text); + } +}
\ No newline at end of file |