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 }