001package com.identityworksllc.iiq.common.service; 002 003import sailpoint.api.SailPointContext; 004import sailpoint.tools.GeneralException; 005 006/** 007 * Functional interface to invoke the implementation of your service after doing 008 * pre-work. This is intended for use with {@link BaseCommonService}, as the 009 * value of {@link BaseCommonService#invoker}. 010 * 011 * In your subclass of {@link BaseCommonService}, you may implement your behavior 012 * by either passing custom behavior as 'invoker' or by overriding 'implementation'. 013 */ 014@FunctionalInterface 015public interface ServiceImplementationInvoker { 016 /** 017 * Invokes the service implementation after doing whatever pre-work is required. 018 * 019 * @param context The IIQ context 020 */ 021 void invokeImplementation(SailPointContext context) throws GeneralException; 022}