View Javadoc
1   package com.atlassian.plugin;
2   
3   /**
4    * Methods that are necessary for the plugin framework, however should not be exposed via public API.
5    *
6    * @since v4.0
7    */
8   public interface PluginInternal extends Plugin {
9       /**
10       * Alters whether the plugin is a "bundled" plugin that can't be removed.
11       *
12       * @param bundledPlugin {@code true} if this plugin is a "bundled" plugin.
13       * @since 4.0
14       */
15      void setBundledPlugin(final boolean bundledPlugin);
16  
17  
18      /**
19       * Add a module descriptor.
20       *
21       * @param module to add
22       * @return true if added, false if already present
23       * @since 4.0
24       */
25      boolean addDynamicModuleDescriptor(final ModuleDescriptor<?> module);
26  
27      /**
28       * @return current set of dynamic module descriptors.
29       * @since 4.0
30       */
31      Iterable<ModuleDescriptor<?>> getDynamicModuleDescriptors();
32  
33      /**
34       * Remove a module descriptor.
35       *
36       * @param module to remove
37       * @return true if removed, false if not present
38       * @since 4.0
39       */
40      boolean removeDynamicModuleDescriptor(final ModuleDescriptor<?> module);
41  }