Class AbstractServicePluginDescriptor<S extends Service>

java.lang.Object
de.iip_ecosphere.platform.support.plugins.DefaultPluginDescriptor<ServiceDescriptor<S>>
de.iip_ecosphere.platform.support.plugins.SingletonPluginDescriptor<ServiceDescriptor<S>>
de.iip_ecosphere.platform.services.environment.AbstractServicePluginDescriptor<S>
Type Parameters:
S - the actual type of service being created
All Implemented Interfaces:
ServiceDescriptor<S>, ServicePluginDescriptor<S>, de.iip_ecosphere.platform.support.plugins.PluginDescriptor<ServiceDescriptor<S>>, de.iip_ecosphere.platform.support.plugins.PluginInstanceDescriptor<ServiceDescriptor<S>>
Direct Known Subclasses:
AbstractGenericMultiServicePluginDescriptor, AbstractGenericServicePluginDescriptor, AbstractSpecificServicePluginDescriptor

public abstract class AbstractServicePluginDescriptor<S extends Service> extends de.iip_ecosphere.platform.support.plugins.SingletonPluginDescriptor<ServiceDescriptor<S>> implements ServicePluginDescriptor<S>, ServiceDescriptor<S>
A basic implementation of the ServicePluginDescriptor delegating to the ServiceDescriptor. The create() method contains a convenience/default implementation by reflection through an assumed no-arg constructor that must anyway exist for JSL. May be overridden if needed.
Author:
Holger Eichelberger, SSE
  • Constructor Details

    • AbstractServicePluginDescriptor

      public AbstractServicePluginDescriptor(String id, List<String> ids)
      Creates an instance.
      Parameters:
      id - the plugin id
      ids - optional secondary ids, may be null or empty
  • Method Details

    • initPluginSupplier

      protected de.iip_ecosphere.platform.support.plugins.DefaultPluginDescriptor.PluginSupplier<ServiceDescriptor<S>> initPluginSupplier(de.iip_ecosphere.platform.support.plugins.DefaultPluginDescriptor.PluginSupplier<ServiceDescriptor<S>> pluginSupplier)
      Overrides:
      initPluginSupplier in class de.iip_ecosphere.platform.support.plugins.DefaultPluginDescriptor<ServiceDescriptor<S extends Service>>
    • initPluginClass

      protected Class<ServiceDescriptor<S>> initPluginClass(Class<ServiceDescriptor<S>> pluginClass)
      Overrides:
      initPluginClass in class de.iip_ecosphere.platform.support.plugins.DefaultPluginDescriptor<ServiceDescriptor<S extends Service>>
    • create

      public ServiceDescriptor<S> create()
      Specified by:
      create in interface de.iip_ecosphere.platform.support.plugins.PluginInstanceDescriptor<S extends Service>