summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/bukkit/plugin/java/annotation/Permissions.java
blob: c6097c3ff33208a199aaa63678f8633523e9756e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package org.bukkit.plugin.java.annotation;

import org.bukkit.permissions.PermissionDefault;

import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

/**
 *  Part of the plugin annotations framework.
 *  <p>
 *  Represents a list of this plugin's registered permissions.
 */

@Target(ElementType.TYPE)
public @interface Permissions { // TODO: in java 8, make repeatable.

    public Perm[] value();

    @Target({})
    public static @interface Perm {

        /**
         * This perm's name.
         */
        public String value();

        /**
         * This perm's description.
         */

        public String desc() default "";

        /**
         * This perm's default.
         */
        public PermissionDefault defaultValue() default PermissionDefault.OP;

        /**
         * This perm's child nodes
         */
        public String[] children() default {};

        /**
         * This perms's negated child nodes
         */
        public String[] antichildren() default {};

    }

}