package org.dcache.srm.scheduler.spi;
import java.util.Map;
import org.dcache.srm.scheduler.Scheduler;
/**
* Service provider interface to instantiate implementations of SchedulingStrategy.
*
* Implementations are discovered using Java's ServiceLoader mechanism.
*/
public interface SchedulingStrategyProvider
{
/**
* The name an admin uses to identify the strategy.
*/
String getName();
/**
* Sets configuration parameters for the strategy.
*/
void setConfiguration(Map<String,String> configuration);
/**
* Creates a new scheduling strategy for a given scheduler.
*/
SchedulingStrategy createStrategy(Scheduler scheduler);
}