package org.intellimate.izou.system.context; import org.intellimate.izou.identification.Identifiable; import org.intellimate.izou.identification.Identification; import org.intellimate.izou.identification.IllegalIDException; import ro.fortsoft.pf4j.AddonAccessible; import java.util.concurrent.ExecutorService; /** * @author Leander Kurscheidt * @version 1.0 */ @AddonAccessible public interface ThreadPool { /** * returns an ThreadPool where all the IzouPlugins are running * @param identifiable the Identifiable to set each created Task as the Source * @return an instance of ExecutorService * @throws IllegalIDException not implemented yet */ ExecutorService getThreadPool(Identifiable identifiable) throws IllegalIDException; /** * tries everything to log the exception * @param throwable the Throwable * @param target an instance of the thing which has thrown the Exception */ void handleThrowable(Throwable throwable, Object target); /** * returns the ID of the Manager * @return an instance of Identification */ Identification getManagerIdentification(); }