1 package com.atlassian.plugin;
2
3 import com.atlassian.fugue.Option;
4 import com.google.common.collect.ImmutableSet;
5
6 import static com.atlassian.fugue.Option.option;
7 import static com.google.common.base.Preconditions.checkNotNull;
8
9
10
11
12 public final class Permissions
13 {
14
15
16
17
18
19
20 public static final String ALL_PERMISSIONS = "all_permissions";
21
22
23
24
25
26 public static final String EXECUTE_JAVA = "execute_java";
27
28
29
30
31
32 public static final String GENERATE_ANY_HTML = "generate_any_html";
33
34 private Permissions()
35 {
36 }
37
38 public static Plugin addPermission(Plugin plugin, String permission, InstallationMode mode)
39 {
40 checkNotNull(plugin);
41
42 getPluginInformation(plugin).setPermissions(
43 ImmutableSet.<PluginPermission>builder()
44 .addAll(getPluginInformation(plugin).getPermissions())
45 .add(new PluginPermission(permission, Option.<InstallationMode>option(mode)))
46 .build());
47 return plugin;
48 }
49
50 private static PluginInformation getPluginInformation(Plugin plugin)
51 {
52 return option(plugin.getPluginInformation()).getOrElse(new PluginInformation());
53 }
54 }