View Javadoc
1   package com.atlassian.plugin;
2   
3   import com.google.common.collect.ImmutableSet;
4   
5   import java.util.Set;
6   
7   import static com.google.common.base.Preconditions.checkNotNull;
8   
9   /**
10   * This exception is thrown by {@link ModuleDescriptor module descriptors} when a set of their required permissions is
11   * not met by the plugin declaring them.
12   *
13   * @since 3.0
14   */
15  public final class ModulePermissionException extends PluginException {
16      private final String moduleKey;
17      private final Set<String> permissions;
18  
19      public ModulePermissionException(String moduleKey, Set<String> permissions) {
20          super("Could not load module " + moduleKey + ". The plugin is missing the following permissions: " + permissions);
21          this.moduleKey = checkNotNull(moduleKey);
22          this.permissions = ImmutableSet.copyOf(checkNotNull(permissions));
23      }
24  
25      public String getModuleKey() {
26          return moduleKey;
27      }
28  
29      public Set<String> getPermissions() {
30          return permissions;
31      }
32  }