/**
 * 
 */
package eu.dnetlib.pid.service.rmi;

import javax.jws.WebService;
import javax.xml.ws.wsaddressing.W3CEndpointReference;

import eu.dnetlib.common.rmi.BaseService;

/**
 * @author alessia
 * 
 */
@WebService
public interface PIDAssignerService extends BaseService {

	/**
	 * Processes records in the input epr and returns an epr whose records have PIDs as defined by the PIDRules in the
	 * profile with the given ruleId,
	 * 
	 * @param epr
	 *            W3CEndpointReference with records without PIDs
	 * @param ruleId
	 *            id of the profile where to find the rules for PID assignment
	 * @param namingAuthority
	 *            Naming Authority to be used for the PID assignment
	 * @return a W3CEndpointReference with Pidded-records
	 * @throws PIDAssignerException
	 */
	public W3CEndpointReference assignPIDs(W3CEndpointReference epr, String ruleId, String namingAuthority) throws PIDAssignerException;
}
