invoke
HookOperationMode invoke(ModelContext context,
Task task,
OperationResult result)
Generic method to be implemented by the hook. It is invoked by the Model Clockwork at these occasions:
- after PRIMARY state has been entered,
- after SECONDARY state has been entered, and
- after each of secondary-state waves has been executed (i.e. with the state of SECONDARY for all except
the last one, will have state set to FINAL).
TODO: what about EXECUTION and POSTEXECUTION states?
- Returns:
- - FOREGROUND, if the processing of model operation should continue on the foreground
- BACKGROUND, if the hook switched further processing into background (and, therefore,
current execution of model operation should end immediately, in the hope it will eventually
be resumed later)
- ERROR, if the hook encountered an error which prevents model operation from continuing
(this case is currently not defined very well)