001 package toolbus.tool.execution; 002 003 import toolbus.ToolBus; 004 import toolbus.tool.ToolDefinition; 005 import toolbus.tool.ToolInstance; 006 007 /** 008 * Interface all tool executor factories much implement. 009 * 010 * @author Arnold Lankamp 011 */ 012 public interface IToolExecutorFactory{ 013 014 /** 015 * Constructs a tool executor. 016 * 017 * @param toolInstance 018 * The tool instance to which the tool is associated. 019 * @param toolDefinition 020 * The definition of the tool. 021 * @param toolbus 022 * The toolbus to which the tool should connect. 023 * 024 * @return The constructed tool executor. 025 */ 026 public IToolExecutor getToolExecutor(ToolInstance toolInstance, ToolDefinition toolDefinition, ToolBus toolbus); 027 }