/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.authority.factory;
import org.dspace.authority.AuthoritySearchService;
import org.dspace.authority.AuthorityTypes;
import org.dspace.authority.indexer.AuthorityIndexerInterface;
import org.dspace.authority.indexer.AuthorityIndexingService;
import org.dspace.authority.service.AuthorityService;
import org.dspace.authority.service.AuthorityValueService;
import org.dspace.services.factory.DSpaceServicesFactory;
import java.util.List;
/**
* Abstract factory to get services for the authority package, use AuthorityServiceFactory.getInstance() to retrieve an implementation
*
* @author kevinvandevelde at atmire.com
*/
public abstract class AuthorityServiceFactory {
public abstract AuthorityValueService getAuthorityValueService();
public abstract AuthorityTypes getAuthorTypes();
public abstract AuthorityIndexingService getAuthorityIndexingService();
public abstract AuthoritySearchService getAuthoritySearchService();
public abstract AuthorityService getAuthorityService();
public abstract List<AuthorityIndexerInterface> getAuthorityIndexers();
public static AuthorityServiceFactory getInstance()
{
return DSpaceServicesFactory.getInstance().getServiceManager().getServiceByName("authorityServiceFactory", AuthorityServiceFactory.class);
}
}