Class AbstractGenericMultiServicePluginDescriptor<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>
de.iip_ecosphere.platform.services.environment.AbstractGenericMultiServicePluginDescriptor<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>>

public abstract class AbstractGenericMultiServicePluginDescriptor<S extends Service> extends AbstractServicePluginDescriptor<S>
A basic implementation of the ServicePluginDescriptor delegating to the ServiceDescriptor for MIMO generic services.
Author:
Holger Eichelberger, SSE
  • Constructor Details

    • AbstractGenericMultiServicePluginDescriptor

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

      public AbstractGenericMultiServicePluginDescriptor(String id, String secId)
      Creates an instance with a single secondary id.
      Parameters:
      id - the plugin id
      secId - the secondary id
    • AbstractGenericMultiServicePluginDescriptor

      public AbstractGenericMultiServicePluginDescriptor(String id, Class<?> secCls)
      Creates an instance with a class determining the single secondary id.
      Parameters:
      id - the plugin id
      secCls - the class determining the secondary id (by its qualified name)
  • Method Details

    • createService

      public S createService(String serviceId, InputStream ymlFile)
      Description copied from interface: ServiceDescriptor
      Creates a specific service from a service id and a YAML artifact.
      Parameters:
      serviceId - the service id
      ymlFile - the YML file containing the YAML artifact with the service descriptor
      Returns:
      the service instance, may be null if creation/casting is not possible
    • createService

      public S createService(String serviceId)
      Description copied from interface: ServiceDescriptor
      Creates a specific service from a service id, fallback.
      Parameters:
      serviceId - the service id
      Returns:
      the service instance, may be null if creation/casting is not possible
    • createService

      public S createService()
      Description copied from interface: ServiceDescriptor
      Creates a specific service, second fallback.
      Returns:
      the service instance, may be null if creation/casting is not possible
    • createService

      public <I, O> S createService(de.iip_ecosphere.platform.transport.serialization.TypeTranslator<I,String> inTrans, de.iip_ecosphere.platform.transport.serialization.TypeTranslator<String,O> outTrans, de.iip_ecosphere.platform.transport.connectors.ReceptionCallback<O> callback, YamlService yaml, Object... args)
      Description copied from interface: ServiceDescriptor
      Creates a generic service (still to be wrapped) from type translators, callback and YAML service description.
      Type Parameters:
      I - input type
      O - output type
      Parameters:
      inTrans - the input translator
      outTrans - the output translator
      callback - called when a processed item is received from the service
      yaml - the YAML service description
      args - generic arguments to be passed to and interpreted by the service
      Returns:
      the service instance, may be null if creation/casting is not possible