Class DefaultConnectorFactoryDescriptor.ProtocolAdapterSupplier<O,I,CO,CI>

java.lang.Object
de.iip_ecosphere.platform.connectors.DefaultConnectorFactoryDescriptor.ProtocolAdapterSupplier<O,I,CO,CI>
Type Parameters:
O - the output type from the underlying machine/platform
I - the input type to the underlying machine/platform
CO - the output type of the connector
CI - the input type of the connector
Direct Known Subclasses:
DefaultConnectorFactoryDescriptor.ArrayPathAdapterSupplier, DefaultConnectorFactoryDescriptor.SinglePathAdapterSupplier
Enclosing class:
DefaultConnectorFactoryDescriptor

protected abstract static class DefaultConnectorFactoryDescriptor.ProtocolAdapterSupplier<O,I,CO,CI> extends Object
A protocol supplier.
Author:
Holger Eichelberger, SSE
  • Field Details

    • oClass

      protected Class<O> oClass
    • iClass

      protected Class<I> iClass
    • coClass

      protected Class<CO> coClass
    • ciClass

      protected Class<CI> ciClass
  • Constructor Details

    • ProtocolAdapterSupplier

      protected ProtocolAdapterSupplier(Class<O> oClass, Class<I> iClass, Class<CO> coClass, Class<CI> ciClass)
      Creates a supplier with type instances.
      Parameters:
      oClass - the type for O
      iClass - the type for I
      coClass - the type for CO
      ciClass - the type for CI
  • Method Details

    • get

      public abstract <OT, IT, COT, CIT> ProtocolAdapter<OT,IT,COT,CIT>[] get(de.iip_ecosphere.platform.support.metrics.MetricsProvider metrics, File log, Supplier<String> inPathSupplier, Supplier<String> outPathSupplier, Class<OT> oClass, Class<IT> iClass, Class<COT> coClass, Class<CIT> ciClass)
      Returns an instance if apparently type-compatible.
      Type Parameters:
      OT - the desired output type from the underlying machine/platform
      IT - the desired input type to the underlying machine/platform
      COT - the desired output type of the connector
      CIT - the desired input type of the connector
      Parameters:
      metrics - the metrics provider to use, null for no metric measurements
      log - the log file to use to record individual measurements in experiments, null for no logging. Only becomes active if metrics is not null
      inPathSupplier - function returning the actual input base path to use for data accesses, may be null
      outPathSupplier - function returning the actual output base path to use for data accesses, may be null
      oClass - the type for OT
      iClass - the type for IT
      coClass - the type for COT
      ciClass - the type for CIT
      Returns:
      the instance or null if it is not possible to create/cast an instance