/** * 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.service; import org.apache.solr.common.SolrDocument; import org.dspace.authority.AuthorityValue; import org.dspace.core.Context; import java.util.List; /** * This service contains all methods for using authority values * * @author Antoine Snyers (antoine at atmire.com) * @author Kevin Van de Velde (kevin at atmire dot com) * @author Ben Bosman (ben at atmire dot com) * @author Mark Diggory (markd at atmire dot com) */ public interface AuthorityValueService { public static final String SPLIT = "::"; public static final String GENERATE = "will be generated" + SPLIT; public AuthorityValue generate(Context context, String authorityKey, String content, String field); public AuthorityValue update(AuthorityValue value); public AuthorityValue findByUID(Context context, String authorityID); public List<AuthorityValue> findByValue(Context context, String field, String value); public AuthorityValue findByOrcidID(Context context, String orcid_id); public List<AuthorityValue> findByName(Context context, String schema, String element, String qualifier, String name); public List<AuthorityValue> findByAuthorityMetadata(Context context, String schema, String element, String qualifier, String value); public List<AuthorityValue> findByExactValue(Context context, String field, String value); public List<AuthorityValue> findByValue(Context context, String schema, String element, String qualifier, String value); public List<AuthorityValue> findOrcidHolders(Context context); public List<AuthorityValue> findAll(Context context); public AuthorityValue fromSolr(SolrDocument solrDocument); public AuthorityValue getAuthorityValueType(String metadataString); }