]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
d577d69f3e021a3b7336be1a7157fa5bae8ef5da
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.client;
2
3 import javax.ws.rs.Consumes;
4 import javax.ws.rs.DELETE;
5 import javax.ws.rs.GET;
6 import javax.ws.rs.POST;
7 import javax.ws.rs.PUT;
8 import javax.ws.rs.Path;
9 import javax.ws.rs.PathParam;
10 import javax.ws.rs.Produces;
11 import javax.ws.rs.QueryParam;
12 import javax.ws.rs.core.Response;
13
14 import org.collectionspace.services.common.query.IQueryManager;
15 import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
16 import org.collectionspace.services.contact.ContactsCommonList;
17 import org.collectionspace.services.location.LocationauthoritiesCommonList;
18 import org.collectionspace.services.location.LocationsCommonList;
19 import org.jboss.resteasy.client.ClientResponse;
20 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
21 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
22
23 /**
24  * @version $Revision:$
25  */
26 @Path("/locationauthorities/")
27 @Produces({"multipart/mixed"})
28 @Consumes({"multipart/mixed"})
29 public interface LocationAuthorityProxy extends CollectionSpaceProxy {
30
31     // List Locationauthorities
32     @GET
33     @Produces({"application/xml"})
34     ClientResponse<LocationauthoritiesCommonList> readList();
35
36     //(C)reate
37     @POST
38     ClientResponse<Response> create(MultipartOutput multipart);
39
40     //(R)ead
41     @GET
42     @Path("/{csid}")
43     ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
44
45     //(R)ead by name
46     @GET
47     @Path("/urn:cspace:name({name})")
48     ClientResponse<MultipartInput> readByName(@PathParam("name") String name);
49
50     //(U)pdate
51     @PUT
52     @Path("/{csid}")
53     ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
54
55     //(D)elete
56     @DELETE
57     @Path("/{csid}")
58     ClientResponse<Response> delete(@PathParam("csid") String csid);
59
60     // List Items matching a partial term or keywords.
61     @GET
62     @Produces({"application/xml"})
63     @Path("/{vcsid}/items/")
64     ClientResponse<LocationsCommonList> readItemList(
65                 @PathParam("vcsid") String vcsid,
66             @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
67             @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
68
69     /**
70      * @param csid
71      * @return
72      * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
73      */
74     @GET
75     @Path("{csid}/items/{itemcsid}/refObjs")
76     @Produces("application/xml")
77     ClientResponse<AuthorityRefDocList> getReferencingObjects(
78             @PathParam("csid") String parentcsid,
79             @PathParam("itemcsid") String itemcsid);
80
81     // List Items for a named authority matching a partial term or keywords.
82     @GET
83     @Produces({"application/xml"})
84     @Path("/urn:cspace:name({specifier})/items/")
85     ClientResponse<LocationsCommonList> readItemListForNamedAuthority(
86                 @PathParam("specifier") String specifier,
87             @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
88             @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
89
90     //(C)reate Item
91     @POST
92     @Path("/{vcsid}/items/")
93     ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, MultipartOutput multipart);
94
95     //(R)ead Item
96     @GET
97     @Path("/{vcsid}/items/{csid}")
98     ClientResponse<MultipartInput> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
99
100     //(U)pdate Item
101     @PUT
102     @Path("/{vcsid}/items/{csid}")
103     ClientResponse<MultipartInput> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, MultipartOutput multipart);
104
105     //(D)elete Item
106     @DELETE
107     @Path("/{vcsid}/items/{csid}")
108     ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
109
110      // List Contacts
111     @GET
112     @Produces({"application/xml"})
113     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
114     ClientResponse<ContactsCommonList> readContactList(
115             @PathParam("parentcsid") String parentcsid,
116             @PathParam("itemcsid") String itemcsid);
117
118     //(C)reate Contact
119     @POST
120     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
121     ClientResponse<Response> createContact(
122             @PathParam("parentcsid") String parentcsid,
123             @PathParam("itemcsid") String itemcsid,
124             MultipartOutput multipart);
125
126      //(R)ead Contact
127     @GET
128     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
129     ClientResponse<MultipartInput> readContact(
130             @PathParam("parentcsid") String parentcsid,
131             @PathParam("itemcsid") String itemcsid,
132             @PathParam("csid") String csid);
133
134     //(U)pdate Contact
135     @PUT
136     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
137     ClientResponse<MultipartInput> updateContact(
138             @PathParam("parentcsid") String parentcsid,
139             @PathParam("itemcsid") String itemcsid,
140             @PathParam("csid") String csid,
141             MultipartOutput multipart);
142
143     //(D)elete Contact
144     @DELETE
145     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
146     ClientResponse<Response> deleteContact(
147             @PathParam("parentcsid") String parentcsid,
148             @PathParam("itemcsid") String itemcsid,
149             @PathParam("csid") String csid);
150
151 }