summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java')
-rw-r--r--src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java b/src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java
new file mode 100644
index 0000000..35a72ab
--- /dev/null
+++ b/src/main/java/org/bukkit/plugin/java/annotation/permission/Permission.java
@@ -0,0 +1,40 @@
+package org.bukkit.plugin.java.annotation.permission;
+
+import org.bukkit.permissions.PermissionDefault;
+import org.bukkit.plugin.java.annotation.plugin.author.Authors;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Defines a plugin permission
+ */
+@Documented
+@Retention(RetentionPolicy.SOURCE)
+@Target(ElementType.TYPE)
+@Repeatable(Permissions.class)
+public @interface Permission {
+ /**
+ * This perm's name.
+ */
+ String name();
+
+ /**
+ * This perm's description.
+ */
+ String desc() default "";
+
+ /**
+ * This perm's default {@link PermissionDefault}
+ */
+ PermissionDefault defaultValue() default PermissionDefault.OP;
+
+ /**
+ * This permission's child nodes
+ */
+ ChildPermission[] children() default {};
+}