001package arez; 002 003import grim.annotations.OmitType; 004import javax.annotation.Nonnull; 005 006/** 007 * An interceptor that intercepts the execution of tasks. 008 * This enables downstream the injection of logic before and after tasks have been scheduled. 009 */ 010@OmitType( unless = "arez.enable_task_interceptor" ) 011@FunctionalInterface 012public interface TaskInterceptor 013{ 014 /** 015 * Method invoked to execute tasks. 016 * 017 * @param executeAction action to invoke to execute tasks. 018 */ 019 void executeTasks( @Nonnull SafeProcedure executeAction ); 020}