Interface AppPlugin

All Known Subinterfaces:
AdminPlugin, CockpitPlugin, TasklistPlugin, WelcomePlugin
All Known Implementing Classes:
AbstractAdminPlugin, AbstractAppPlugin, AbstractCockpitPlugin, AbstractTasklistPlugin, AbstractWelcomePlugin, AdminPlugins, CockpitPlugins, TasklistPlugins, TestCockpitPlugin, WelcomePlugins

public interface AppPlugin
The service provider interface (SPI) that must be provided by a webapplication plugin.

A implementation of this SPI publishes

  • a unique ID
  • a directory that contains the plugins client-side assets (HTML + JavaScript files)
  • a number of resource classes that extend the restful API

Plugin developers should not use this interface directly but use AbstractAppPlugin as a base class.

Author:
nico.rehwaldt, Daniel Meyer
  • Method Details

    • getId

      String getId()
      Returns the unique id of this plugin.
      Returns:
    • getResourceClasses

      Set<Class<?>> getResourceClasses()
      Returns a set of JAX-RS resource classes that extend the rest API.

      Typically, a plugin publishes its API via a subclass of AbstractPluginRootResource.

      Returns:
      the set of resource classes provided by this plugin
    • getAssetDirectory

      String getAssetDirectory()
      Returns a uri to a plugin resources directory. The directory must be unique across all plugins.
      Returns:
      the directory providing the plugins client side resources
    • getResourceOverrides

      List<PluginResourceOverride> getResourceOverrides()
      Allows providing a list of resource overrides. Resource overrides allow to conditionally override the static resources provided by other plugins.
      Returns:
      a list of PluginResourceOverride implementations.