package org.dcache.srm.scheduler.spi;
import java.util.Map;
import org.dcache.srm.scheduler.Scheduler;
/**
* Service provider interface to instantiate implementations of TransferStrategy.
*
* Implementations are discovered using Java's ServiceLoader mechanism.
*/
public interface TransferStrategyProvider
{
/**
* 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 transfer strategy for a given scheduler.
*/
TransferStrategy createStrategy(Scheduler scheduler);
}