Interface PluginApplication

All Superinterfaces:
Application

public interface PluginApplication extends Application
A Application provided by a set of plugins. There are three types of plugins:
  • Primary Plugin: The plugin that defines the application. Disabling this plugin will will disable the application. There is only one primary plugin per application. The primary plugin may also provide application functionality.
  • Application Plugin: A plugin providing fundamental features for the application. All application plugins must be enabled and working for the application to be considered working. The application plugin is owned by the application (aka the plugin will not work without the primary of the application).
  • Utility Plugin: A plugin that provides utilities to the primary and/or application plugins. A utility plugin is not owned by the application (i.e. the plugin will work without the primary of the application) and may be used by multiple applications or other plugins
Unless otherwise noted none of the parameters or return values can be null.
Since:
v1.0
  • Method Details

    • getDefinitionModuleKey

      String getDefinitionModuleKey()
      Return the module key for the module in the Primary plugin that defines the application. The plugin key must be included.
      Returns:
      the module key to the module in the Primary plugin that defines the application.
    • getPlugins

      Get the primary, application and utility plugins associated with the application.
      Returns:
      the primary, application and utility plugins associated with the application.
    • getPrimaryPlugin

      ApplicationPlugin getPrimaryPlugin()
      Get the primary plugin associated in the application.
      Returns:
      the primary plugin for the application.
    • getApplicationPlugins

      Iterable<ApplicationPlugin> getApplicationPlugins()
      Return all the application plugins in the application.
      Returns:
      the application plugins in the application. Can be empty if the primary provides all the functionality of the application.
    • getUtilityPlugins

      Iterable<ApplicationPlugin> getUtilityPlugins()
      Return all the utility plugins in the application.
      Returns:
      the utility plugins in the application. Can be empty.