Package de.gebit.integrity.operations.custom

## Interface Operation<PREFIXPARAM,​POSTFIXPARAM,​RESULT>

- Type Parameters:
    `PREFIXPARAM` - the type of the prefix parameter
    `POSTFIXPARAM` - the type of the postfix parameter
    `RESULT` - the result type
  All Known Implementing Classes:
    `ConvertBeanToMapOperation`, `DecimalFormatOperation`, `RandomNumberOperation`

      public interface Operation<PREFIXPARAM,​POSTFIXPARAM,​RESULT>

  Implement this interface in order to create operation classes. An operation is expected to take zero, one or two parameters (which can be arrays, thus containing multiple values) and return a value (can be an array as well). Operations MUST be side-effect free, since there is no guarantee that a given operation statement leads to any specific number of calls to the underlying operation class!
  When an operation is to be executed, its class is instantiated using the default constructor, which must be present and accessible. The resulting instance is used only for a single invocation of the `execute(Object, Object)` method.
  The parameter types supported are similar to those supported for `FixtureMethod` parameters, minus enumerations. The same is true for result value types. Integrity will perform autoconversion from values given in test scripts into the types expected by a given operation class.
  Note that an operation must be fine if called with null values, even for expected parameters. This can be the case in various situations. The operation may of course return null as well in that case, if no other behavior is desired.
  Author:
    Rene Schneider - initial API and implementation

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `RESULT` | `execute​(PREFIXPARAM aPrefixParameter, POSTFIXPARAM aPostfixParameter)` | Executes the operation logic.

- - ### Method Detail

    - #### execute

          RESULT execute​(PREFIXPARAM aPrefixParameter,
                         POSTFIXPARAM aPostfixParameter)

      Executes the operation logic.
      Parameters:
        `aPrefixParameter` - the prefix parameter, or null if none was given or the value is not available at the time of the call
        `aPostfixParameter` - the postfix parameter, or null if none was given or the value is not available at the time of the call
      Returns:
        the result value