package eu.dnetlib.data.information;

import javax.annotation.Resource;

import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
import eu.dnetlib.enabling.tools.ServiceLocator;
import eu.dnetlib.enabling.tools.ServiceResolver;
import eu.dnetlib.soap.cxf.StandaloneCxfEndpointReferenceBuilder;

/**
 * @author jochen, marko
 *
 */
public abstract class AbstractDataSinkSourceResolver {

	/**
	 * lookup locator.
	 */
	@Resource(name = "lookupLocator")
	private ServiceLocator<ISLookUpService> lookupLocator;

	/**
	 * service resolver.
	 */
	@Resource(name = "serviceResolver")
	private ServiceResolver serviceResolver;

	/**
	 * epr builder. Currently used to create an epr for the service resolver given the service address.
	 */
	@Resource(name = "eprBuilder")
	private StandaloneCxfEndpointReferenceBuilder eprBuilder;
	
	public ServiceLocator<ISLookUpService> getLookupLocator() {
		return lookupLocator;
	}

	public void setLookupLocator(final ServiceLocator<ISLookUpService> lookupLocator) {
		this.lookupLocator = lookupLocator;
	}

	public ServiceResolver getServiceResolver() {
		return serviceResolver;
	}

	public void setServiceResolver(final ServiceResolver serviceResolver) {
		this.serviceResolver = serviceResolver;
	}

	public StandaloneCxfEndpointReferenceBuilder getEprBuilder() {
		return eprBuilder;
	}

	public void setEprBuilder(final StandaloneCxfEndpointReferenceBuilder eprBuilder) {
		this.eprBuilder = eprBuilder;
	}

}
