Interface IPlugin

All Superinterfaces:
org.apache.wicket.util.io.IClusterable, Serializable
All Known Implementing Classes:
AbstractListColumnProviderPlugin, AbstractListingPlugin, AssetUploadValidationPlugin, BreadcrumbPlugin, BrowserPlugin, CmsLogoutService, CompatibilityWorkflowPlugin, DefaultFileUploadPreProcessorPlugin, ExpandCollapseListingPlugin, ExtWidget, HTMLDiffPlugin, ImageGalleryColumnProviderPlugin, ImageUploadValidationPlugin, ListViewPlugin, ObservableRegistry, PanelPlugin, PanelPluginPerspective, Perspective, Plugin, RenderPlugin, TabsPlugin, UnitPlugin, UploadValidationPlugin, WireframePlugin

public interface IPlugin extends org.apache.wicket.util.io.IClusterable
Marker interface for classes that can be instantiated as a plugin. There has to be a constructor with signature (IPluginContext, IPluginConfig);

In general, the services that are available to a plugin may come and go at any moment, so the plugin lifecycle is rather minimal.

Plugin lifecycle:

  • Construction - The plugin can retrieve and use services. Services that are registered during this phase will be made available after construction completes. Trackers can also be registered, but they will not receive any notifications until construction completes. In this phase, the constructor with signature (IPluginContext, IPluginConfig) is invoked.

    A plugin can check its configuration and throw runtime exceptions when it finds that it cannot function correctly. For render plugins, a plugin that renders the error will be instantiated in this case, informing the user of the problem.

  • Connect - Services that were registered during construction will be made available. Services can be invoked at this point. Trackers are activated, and will receive notifications for services that are already available in the system.
  • Start - The start() method is invoked after services. The plugin can start new plugin clusters in this phase.
  • Stop - Before the framework starts cleanup of the registered services and trackers, plugins can release resources by implementing stop().
  • Destruction - The framework unregisters any services and trackers that were registered by the plugin.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This method can be implemented by plugins to delay part of the initialization until subclasses have finished their construction.
    void
    Release references to external resources.
  • Field Details

  • Method Details

    • start

      void start()
      This method can be implemented by plugins to delay part of the initialization until subclasses have finished their construction.
    • stop

      void stop()
      Release references to external resources. It is not necessary to unregister services or trackers; this is handled by the framework.