View Javadoc
1   package com.atlassian.plugin.metadata;
2   
3   import com.atlassian.plugin.ModuleDescriptor;
4   import com.atlassian.plugin.Plugin;
5   
6   /**
7    * Describes whether plugins are required or provided by the host application.
8    *
9    * @since 2.6
10   */
11  interface PluginMetadata {
12      /**
13       * Is the {@link Plugin} provided by (bundled with) the application.
14       *
15       * @param plugin the plugin
16       * @return true if the application bundled the plugin.
17       */
18      boolean applicationProvided(Plugin plugin);
19  
20      /**
21       * Is the {@link Plugin} required by the application for basic operation.
22       *
23       * @param plugin the plugin
24       * @return true if the application requires the plugin.
25       */
26      boolean required(Plugin plugin);
27  
28      /**
29       * Is the {@link ModuleDescriptor} required by the application for basic
30       * operation.
31       *
32       * @param descriptor the module descriptor
33       * @return true if the application requires the module descriptor.
34       */
35      boolean required(ModuleDescriptor<?> descriptor);
36  
37  }