/*
 * $RCSfile: ToolSelectionStrategy.java,v $
 * $Date: 2006/01/30 16:20:06 $
 * $Revision: 1.1.2.2 $
 * $Author: andreys $
 */

/*
 * Copyright (c) 2002-2003 IST-2004-2006-511731 ModelWare - ModelBus.
 * All rights reserved.
 *
 * This software is published under the terms of the ModelBus Software License
 * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * A copy of ModelBus Software License is provided with this distribution in
 * doc/LICENSE.txt file.
 */

/*
 * ToolSelector.java Add description 
 * 
 * @author Prawee Sriplakich
 * @version $Revision: 1.1.2.2 $ $Date: 2006/01/30 16:20:06 $
 * @see Add references
 *
 * TODO Add description
 * TODO Add references
 */
package org.eclipse.mddi.modelbus.adapter.infrastructure.registry;

import java.util.Collection;

import org.eclipse.mddi.modelbus.description.concrete.Tool;

public interface ToolSelectionStrategy {

    /**
     * selectTool is called for tool choosing from a pool of registered tools
     * 
     * @param serviceName
     *            a name of the searched service. it can be either qualified name
     *            or not. qualified name = [tool] . [interface] . [service] or
     *            [interface] . [service]
     * @param tools
     *            are a collection of Tool objects, which are instances of a
     *            meta-class defined by the ModelBus meta-model
     * @return a Tool object
     * 
     */
    public Tool selectTool(String serviceName, Collection tools);

}
