/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ package org.orcid.api.memberV2.server.delegator; import java.util.List; import java.util.Map; import javax.ws.rs.core.Response; /** * * @author Will Simpson * */ public interface MemberV2ApiServiceDelegator<EDUCATION, EMPLOYMENT, EXTERNAL_IDENTIFIER, FUNDING, GROUP_ID_RECORD, OTHER_NAME, PEER_REVIEW, RESEARCHER_URL, WORK, WORK_BULK, ADDRESS, KEYWORD> { static final String LATEST_V2_VERSION = "2.0"; Response viewStatusText(); Response viewRecord(String orcid); Response viewActivities(String orcid); Response viewWork(String orcid, Long putCode); Response viewWorks(String orcid); Response viewWorkSummary(String orcid, Long putCode); Response createWorks(String orcid, WORK_BULK bulk); Response createWork(String orcid, WORK work); Response updateWork(String orcid, Long putCode, WORK work); Response deleteWork(String orcid, Long putCode); Response viewFunding(String orcid, Long putCode); Response viewFundings(String orcid); Response viewFundingSummary(String orcid, Long putCode); Response createFunding(String orcid, FUNDING funding); Response updateFunding(String orcid, Long putCode, FUNDING funding); Response deleteFunding(String orcid, Long putCode); Response viewEducation(String orcid, Long putCode); Response viewEducations(String orcid); Response viewEducationSummary(String orcid, Long putCode); Response createEducation(String orcid, EDUCATION education); Response updateEducation(String orcid, Long putCode, EDUCATION education); Response viewEmployment(String orcid, Long putCode); Response viewEmployments(String orcid); Response viewEmploymentSummary(String orcid, Long putCode); Response createEmployment(String orcid, EMPLOYMENT employment); Response updateEmployment(String orcid, Long putCode, EMPLOYMENT employment); Response deleteAffiliation(String orcid, Long putCode); Response viewPeerReview(String orcid, Long putCode); Response viewPeerReviews(String orcid); Response viewPeerReviewSummary(String orcid, Long putCode); Response createPeerReview(String orcid, PEER_REVIEW peerReview); Response updatePeerReview(String orcid, Long putCode, PEER_REVIEW peerReview); Response deletePeerReview(String orcid, Long putCode); Response viewGroupIdRecord(Long putCode); Response createGroupIdRecord(GROUP_ID_RECORD groupIdRecord); Response updateGroupIdRecord(GROUP_ID_RECORD groupIdRecord, Long putCode); Response deleteGroupIdRecord(Long putCode); Response viewGroupIdRecords(String pageSize, String pageNum); Response viewResearcherUrls(String orcid); Response viewResearcherUrl(String orcid, Long putCode); Response updateResearcherUrl(String orcid, Long putCode, RESEARCHER_URL researcherUrl); Response createResearcherUrl(String orcid, RESEARCHER_URL researcherUrl); Response deleteResearcherUrl(String orcid, Long putCode); Response viewEmails(String orcid); Response viewOtherNames(String orcid); Response viewOtherName(String orcid, Long putCode); Response createOtherName(String orcid, OTHER_NAME otherName); Response updateOtherName(String orcid, Long putCode, OTHER_NAME otherName); Response deleteOtherName(String orcid, Long putCode); Response viewPersonalDetails(String orcid); Response viewExternalIdentifiers(String orcid); Response viewExternalIdentifier(String orcid, Long putCode); Response updateExternalIdentifier(String orcid, Long putCode, EXTERNAL_IDENTIFIER externalIdentifier); Response createExternalIdentifier(String orcid, EXTERNAL_IDENTIFIER externalIdentifier); Response deleteExternalIdentifier(String orcid, Long putCode); Response viewBiography(String orcid); Response viewKeywords(String orcid); Response viewKeyword(String orcid, Long putCode); Response createKeyword(String orcid, KEYWORD keyword); Response updateKeyword(String orcid, Long putCode, KEYWORD keyword); Response deleteKeyword(String orcid, Long putCode); Response viewAddresses(String orcid); Response viewAddress(String orcid, Long putCode); Response createAddress(String orcid, ADDRESS address); Response updateAddress(String orcid, Long putCode, ADDRESS address); Response deleteAddress(String orcid, Long putCode); Response viewPerson(String orcid); Response searchByQuery(Map<String, List<String>> solrParams); Response viewClient(String clientId); Response findGroupIdRecordByName(String name); Response viewBulkWorks(String orcid, String putCodes); }