Package de.gebit.integrity.runner.forking

## Interface ForkCallback

-     public interface ForkCallback

  Callback to deliver events from a fork to the parent.
  Author:
    Rene Schneider - initial API and implementation

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onForkExit​(Fork aFork)` | Called when the fork exits.
    `void` | `onSetVariableValue​(String aQualifiedVariableName, Object aValue, boolean aDoSendUpdateFlag)` | If the fork sets variables, it will sync them to the parent using this method.
    `void` | `onTimeSync​(Date aStartDate, List<org.eclipse.xtext.util.Pair<Long,​TemporalUnit>> aDiffTime, BigDecimal aProgressionFactor, String[] someTargetedForks, Fork aResultTarget)` | If the fork wants to perform a time sync, it sends a respective message to the parent, containing a list of all target forks of this timesync.
    `void` | `onUnsetVariableValue​(String aQualifiedVariableName, boolean aDoSendUpdateFlag)` | If the fork unsets variables, it will sync them to the parent using this method.

- - ### Method Detail

    - #### onSetVariableValue

          void onSetVariableValue​(String aQualifiedVariableName,
                                  Object aValue,
                                  boolean aDoSendUpdateFlag)

      If the fork sets variables, it will sync them to the parent using this method.
      Parameters:
        `aQualifiedVariableName` - the variable name
        `aValue` - the new value
        `aDoSendUpdateFlag` - whether updates should be distributed to other remoting clients

    - #### onUnsetVariableValue

          void onUnsetVariableValue​(String aQualifiedVariableName,
                                    boolean aDoSendUpdateFlag)

      If the fork unsets variables, it will sync them to the parent using this method.
      Parameters:
        `aQualifiedVariableName` - the variable name
        `aDoSendUpdateFlag` - whether updates should be distributed to other remoting clients

    - #### onTimeSync

          void onTimeSync​(Date aStartDate,
                          List<org.eclipse.xtext.util.Pair<Long,​TemporalUnit>> aDiffTime,
                          BigDecimal aProgressionFactor,
                          String[] someTargetedForks,
                          Fork aResultTarget)

      If the fork wants to perform a time sync, it sends a respective message to the parent, containing a list of all target forks of this timesync. The master then relays the message to these forks (and processes it for himself if requested).
      Parameters:
        `aStartDate` -
        `aDiffTime` -
        `aProgressionFactor` -
        `someTargetedForks` -

    - #### onForkExit

          void onForkExit​(Fork aFork)

      Called when the fork exits.
      Parameters:
        `aFork` - the fork