org.cishell.framework.algorithm
Interface AlgorithmFactory


public interface AlgorithmFactory

A service interface for creating Algorithms to be executed. An algorithm developer must create an implementation of this interface and register it (along with some standard metadata about the algorithm, defined in the AlgorithmProperty class) in the OSGi service registry. If the algorithm requires input in addition to the raw data provided, a MetaTypeProvider must be published to OSGi's MetaTypeService (usually through a METADATA.XML file in the algorithm's bundle). See the CIShell Specification 1.0 for documentation on the full requirements for algorithm creation.

Author:
Bruce Herr (bh2@bh2.net)

Method Summary
 Algorithm createAlgorithm(Data[] data, Dictionary parameters, CIShellContext context)
          Creates an Algorithm to be executed
 

Method Detail

createAlgorithm

Algorithm createAlgorithm(Data[] data,
                          Dictionary parameters,
                          CIShellContext context)
Creates an Algorithm to be executed

Parameters:
data - The data to be given to the Algorithm to process. Some Algorithms may ignore this value. The order and type of data given are specified in the service dictionary (the 'in_data' key) when registered as a service in OSGi.
parameters - A set of key-value pairs that were created based on the associated input specification published to the MetaTypeService
context - The context by which the Algorithm can gain access to standard CIShell services
Returns:
An Algorithm primed for execution