org.cishell.framework.algorithm
Interface ParameterMutator


public interface ParameterMutator

An additional interface an AlgorithmFactory can implement that allows for adding, modifying, or removing input parameters before being shown to the end-user for input. This interface is often implemented by algorithms that wish to customize the user interface based on the actual input data.

Author:
Bruce Herr (bh2@bh2.net)

Method Summary
 ObjectClassDefinition mutateParameters(Data[] data, ObjectClassDefinition parameters)
          Adds, modifies, or removes Algorithm parameters (AttributeDefinitions) from a given ObjectClassDefinition returning either the same (if no changes are made) input or a new, mutated version of the input
 

Method Detail

mutateParameters

ObjectClassDefinition mutateParameters(Data[] data,
                                       ObjectClassDefinition parameters)
Adds, modifies, or removes Algorithm parameters (AttributeDefinitions) from a given ObjectClassDefinition returning either the same (if no changes are made) input or a new, mutated version of the input

Parameters:
data - An optional argument, the Data array that will be given to this class to create an Algorithm with the createAlgorithm method. Applications that don't know the Data array that is going to be used ahead of time can give a null value.
parameters - A set of AttributeDefinitions which define the algorithm's input parameters
Returns:
An OSGi ObjectClassDefinition that defines the parameters needed by the Algorithm this class creates