Interface IDataProcess

All Superinterfaces:
ICommandReceiver, IDataProducer, IEventProducer, ISystemDriver
All Known Subinterfaces:
IOnDemandProcess, IParallelProcess, IProcessModule<ConfigType>, IStreamProcess

public interface IDataProcess extends IDataProducer, ICommandReceiver

Interface for data processing components run by OSH.
Depending on the type of data sources, the process can be a streaming process (i.e. always running to process incoming data streams) or an on-demand process that is triggered externally.
The getInputDescriptors(), getOutputDescriptors() and getParameterDescriptors() methods only provide descriptors, not streaming interfaces. For on-demand processes, outputs may have descriptors but no associated streaming interfaces (in this case output data is provided inline in the command result, and not evented into a datastream).

Since:
May 8, 2017
  • Method Details

    • getInputDescriptors

      Map<String,DataComponent> getInputDescriptors()
      Gets the list of all input descriptors.

      Note that only inputs that are not connected to data sources will be available for external trigger via the command interface
      Returns:
      Read-only map of input name to input descriptor
    • getOutputDescriptors

      Map<String,DataComponent> getOutputDescriptors()
      Gets the list of all input descriptors.

      Note that only inputs that are not connected to data sources will be available for external trigger via the command interface
      Returns:
      Read-only map of input name to input descriptor
    • getParameterDescriptors

      Map<String,DataComponent> getParameterDescriptors()
      Gets the list of all parameter descriptors.

      The list contains both fixed and taskable parameters. Parameters that are taskable (i.e. that can be changed after the process is started) must be marked as 'updatable'. Such parameters can be changed using the command interface (see IStreamingControlInterface).

      Note that changing the value of components in the parameter descriptors (even when they are marked as 'updatable') has no effect.
      Returns:
      Read-only map of parameter name to parameter descriptor