001package org.kuali.ole.docstore.common.service;
002
003import org.kuali.ole.docstore.common.document.*;
004import org.kuali.ole.docstore.common.search.BrowseParams;
005import org.kuali.ole.docstore.common.search.SearchParams;
006import org.kuali.ole.docstore.common.search.SearchResponse;
007import org.kuali.ole.docstore.common.search.SearchResultField;
008
009import java.util.HashMap;
010import java.util.List;
011import java.util.Map;
012
013/**
014 * Created with IntelliJ IDEA.
015 * User: sambasivam
016 * Date: 12/13/13
017 * Time: 6:20 PM
018 * To change this template use File | Settings | File Templates.
019 */
020public interface DocstoreService {
021
022    public static String OLE ="OLE";
023
024    public static String OLE_DESC="OLE-DESC";
025
026    public static String DESCRIBE ="Describe";
027
028    public static String PROCESS_SOLR_IND ="PROCESS_SOLR_IND";
029
030    public void createBib(Bib bib);
031
032    public void createHoldings(Holdings holdings);
033
034    public void createItem(Item item);
035
036    public void createHoldingsTree(HoldingsTree holdingsTree);
037
038    public void createBibTree(BibTree bibTree);
039
040    public Bib retrieveBib(String bibId);
041
042    public List<Bib> retrieveBibs(List<String> bibIds);
043
044    public Holdings retrieveHoldings(String holdingsId);
045
046    public Item retrieveItem(String itemId);
047
048    public List<Item> retrieveItems(List<String> itemIds);
049
050    public HashMap<String,Item> retrieveItemMap(List<String> itemIds);
051
052    public HoldingsTree retrieveHoldingsTree(String holdingsId);
053
054    public BibTree retrieveBibTree(String bibId);
055
056    public BibTrees retrieveBibTrees(List<String> bibIds);
057
058    public void updateBib(Bib bib);
059
060    public void updateBibs(List<Bib> bibs);
061
062    public void updateHoldings(Holdings holdings);
063
064    public void updateItem(Item item);
065
066    public void deleteBib(String bibId);
067
068    public void deleteHoldings(String holdingsId);
069
070    public void deleteItem(String itemId);
071
072    public SearchResponse search(SearchParams searchParams);
073
074    public Bib findBib(Map<String, String> map);
075
076    public BibTree findBibTree(Map<String, String> map);
077
078    public Holdings findHoldings(Map<String, String> map);
079
080    public HoldingsTree findHoldingsTree(Map<String, String> map);
081
082    public Item findItem(Map<String, String> map);
083
084    public void boundHoldingsWithBibs(String holdingsId, List<String> bibIds);
085
086    public void transferHoldings(List<String> holdingsIds, String bibid);
087
088    public void transferItems(List<String> itemIds, String bibid);
089
090    public void createBibTrees(BibTrees bibTrees);
091
092    public void deleteBibs(List<String> bibIds);
093
094    public SearchResponse browseItems(BrowseParams browseParams);
095
096    public SearchResponse browseHoldings(BrowseParams browseParams);
097
098    public void setResultFieldsForHoldings(Holdings holdings, List<SearchResultField> searchResultFields);
099
100    public void setResultFieldsForItem(Item itemDoc, List<SearchResultField> searchResultFields);
101
102    public void setResultFieldsForBib(Bib bib, List<SearchResultField> searchResultFields);
103
104    public void createLicense(License license);
105
106    public void createLicenses(Licenses licenses);
107
108    public License retrieveLicense(String licenseId);
109
110    public Licenses retrieveLicenses(List<String> licenseIds);
111
112    public void updateLicense(License license);
113
114    public void updateLicenses(Licenses licenses);
115
116    public void deleteLicense(String licenseId);
117
118    public void createAnalyticsRelation(String seriesHoldingsId, List<String> itemIds);
119    
120    public void breakAnalyticsRelation(String seriesHoldingsId, List<String> itemIds);
121
122    public void bulkUpdateHoldings(Holdings holdings, List<String> holdingIds, String canUpdateStaffOnlyFlag);
123
124    public void bulkUpdateItem(Item item, List<String> itemIds,String canUpdateStaffOnlyFlag);
125
126    public Item retrieveItemByBarcode(String barcode);
127
128    public BibTrees processBibTrees(BibTrees bibTrees);
129}