package eu.dnetlib.enabling.aas.retrievers.resultset;

import javax.xml.ws.wsaddressing.W3CEndpointReference;

import eu.dnetlib.enabling.resultset.rmi.ResultSetService;

/**
 * {@link ResultSetService} provider interface.
 * May be used to provide different ways of creating {@link ResultSetService}
 * instance based on {@link W3CEndpointReference} provided as parameter.
 * 
 * @author mhorst
 *
 */
public interface IResultSetProvider {

	/**
	 * Discovers {@link ResultSetService} instance based on {@link W3CEndpointReference}.
	 * @param epr
	 * @return {@link ResultSetService} instance
	 */
	public ResultSetService discover(W3CEndpointReference epr);
	
	/**
	 * Extract identifier from given {@link W3CEndpointReference}
	 * @param epr
	 * @return extracted indentifier.
	 */
	public String extractId(W3CEndpointReference epr);
	
}
