source: VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistry.java @ 5616

Last change on this file since 5616 was 5616, checked in by Twan Goosen, 10 years ago

Extracted interface from VirtualCollectionRegistry.
Created test for VirtualCollectionResource? of REST service that uses this interface for mocking.

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1package eu.clarin.cmdi.virtualcollectionregistry;
2
3import eu.clarin.cmdi.virtualcollectionregistry.model.User;
4import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection;
5import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollectionList;
6import java.security.Principal;
7import java.util.List;
8
9public interface VirtualCollectionRegistry {
10
11    /**
12     * Will store the specified collection; it will also set the owner according
13     * to the specified principal and set its state to
14     * {@link VirtualCollection.State#PRIVATE}
15     *
16     * @param principal owner principal
17     * @param vc collection to store
18     * @return identifier of the persisted collection
19     * @throws VirtualCollectionRegistryException
20     */
21    long createVirtualCollection(Principal principal,
22            VirtualCollection vc) throws VirtualCollectionRegistryException;
23
24    long updateVirtualCollection(Principal principal, long id,
25            VirtualCollection vc) throws VirtualCollectionRegistryException;
26
27    long deleteVirtualCollection(Principal principal, long id)
28            throws VirtualCollectionRegistryException;
29
30    VirtualCollection.State getVirtualCollectionState(long id)
31            throws VirtualCollectionRegistryException;
32
33    void setVirtualCollectionState(Principal principal, long id,
34            VirtualCollection.State state)
35            throws VirtualCollectionRegistryException;
36
37    /**
38     *
39     * @param id identifier of the virtual collection to retrieve
40     * @return the identified virtual collection, never null
41     * @throws VirtualCollectionRegistryException if no virtual collection with
42     * the specified identifier exists
43     */
44    VirtualCollection retrieveVirtualCollection(long id)
45            throws VirtualCollectionRegistryException;
46
47    VirtualCollectionList getVirtualCollections(String query,
48            int offset, int count) throws VirtualCollectionRegistryException;
49
50    VirtualCollectionList getVirtualCollections(Principal principal,
51            String query, int offset, int count)
52            throws VirtualCollectionRegistryException;
53
54    int getVirtualCollectionCount(QueryOptions options)
55            throws VirtualCollectionRegistryException;
56
57    List<User> getUsers();
58
59    List<VirtualCollection> getVirtualCollections(
60            int first, int count, QueryOptions options)
61            throws VirtualCollectionRegistryException;
62
63} // interface VirtualCollectionRegistry
Note: See TracBrowser for help on using the repository browser.