1 | package eu.clarin.cmdi.virtualcollectionregistry; |
---|
2 | |
---|
3 | import eu.clarin.cmdi.virtualcollectionregistry.model.User; |
---|
4 | import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollection; |
---|
5 | import eu.clarin.cmdi.virtualcollectionregistry.model.VirtualCollectionList; |
---|
6 | import java.security.Principal; |
---|
7 | import java.util.List; |
---|
8 | |
---|
9 | public 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 |
---|