1 package org.collectionspace.services.client;
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;
14 import org.collectionspace.services.common.query.IQueryManager;
15 import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
16 import org.collectionspace.services.common.authorityref.AuthorityRefList;
17 import org.collectionspace.services.contact.ContactsCommonList;
18 import org.collectionspace.services.organization.OrgauthoritiesCommonList;
19 import org.collectionspace.services.organization.OrganizationsCommonList;
20 import org.collectionspace.services.person.PersonsCommonList;
21 import org.jboss.resteasy.client.ClientResponse;
22 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
23 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
28 @Path("/orgauthorities/")
29 @Produces({"multipart/mixed"})
30 @Consumes({"multipart/mixed"})
31 public interface OrgAuthorityProxy extends CollectionSpaceProxy {
33 // List OrgAuthorities
35 @Produces({"application/xml"})
36 ClientResponse<OrgauthoritiesCommonList> readList();
40 ClientResponse<Response> create(MultipartOutput multipart);
45 ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
49 @Path("/urn:cspace:name({name})")
50 ClientResponse<MultipartInput> readByName(@PathParam("name") String name);
55 ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
60 ClientResponse<Response> delete(@PathParam("csid") String csid);
62 // List Items with options for matching a partial term or keywords.
64 @Produces("application/xml")
65 @Path("/{csid}/items/")
66 ClientResponse<OrganizationsCommonList>readItemList(
67 @PathParam("csid") String parentcsid,
68 @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
69 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
76 * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
79 @Path("{csid}/items/{itemcsid}/refObjs")
80 @Produces("application/xml")
81 ClientResponse<AuthorityRefDocList> getReferencingObjects(
82 @PathParam("csid") String parentcsid,
83 @PathParam("itemcsid") String itemcsid);
85 // List Items for a named authority matching a partial term or keywords.
87 @Produces({"application/xml"})
88 @Path("/urn:cspace:name({specifier})/items/")
89 ClientResponse<OrganizationsCommonList> readItemListForNamedAuthority(
90 @PathParam("specifier") String specifier,
91 @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,
92 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
94 // List Item Authority References
96 @Produces({"application/xml"})
97 @Path("/{parentcsid}/items/{itemcsid}/authorityrefs/")
98 public ClientResponse<AuthorityRefList> getItemAuthorityRefs(
99 @PathParam("parentcsid") String parentcsid,
100 @PathParam("itemcsid") String itemcsid);
104 @Path("/{vcsid}/items/")
105 ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, MultipartOutput multipart);
109 @Path("/{vcsid}/items/{csid}")
110 ClientResponse<MultipartInput> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
114 @Path("/{vcsid}/items/urn:cspace:name({specifier})")
115 ClientResponse<MultipartInput> readNamedItem(@PathParam("vcsid") String vcsid, @PathParam("specifier") String specifier);
117 //(R)ead Item In Named Authority
119 @Path("/urn:cspace:name({specifier})/items/{csid}")
120 ClientResponse<MultipartInput> readItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("csid") String csid);
122 //(R)ead Named Item In Named Authority
124 @Path("/urn:cspace:name({specifier})/items/urn:cspace:name({itemspecifier})")
125 ClientResponse<MultipartInput> readNamedItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("itemspecifier") String itemspecifier);
129 @Path("/{vcsid}/items/{csid}")
130 ClientResponse<MultipartInput> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, MultipartOutput multipart);
134 @Path("/{vcsid}/items/{csid}")
135 ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
139 @Produces({"application/xml"})
140 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
141 ClientResponse<ContactsCommonList> readContactList(
142 @PathParam("parentcsid") String parentcsid,
143 @PathParam("itemcsid") String itemcsid);
145 @Produces({"application/xml"})
146 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/")
147 ClientResponse<ContactsCommonList> readContactListForNamedItem(
148 @PathParam("parentcsid") String parentcsid,
149 @PathParam("itemspecifier") String itemspecifier);
151 @Produces({"application/xml"})
152 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/")
153 ClientResponse<ContactsCommonList> readContactListForItemInNamedAuthority(
154 @PathParam("parentspecifier") String parentspecifier,
155 @PathParam("itemcsid") String itemcsid);
157 @Produces({"application/xml"})
158 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/")
159 ClientResponse<ContactsCommonList> readContactListForNamedItemInNamedAuthority(
160 @PathParam("parentspecifier") String parentspecifier,
161 @PathParam("itemspecifier") String itemspecifier);
165 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
166 ClientResponse<Response> createContact(
167 @PathParam("parentcsid") String parentcsid,
168 @PathParam("itemcsid") String itemcsid,
169 MultipartOutput multipart);
171 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/")
172 ClientResponse<Response> createContactForNamedItem(
173 @PathParam("parentcsid") String parentcsid,
174 @PathParam("itemspecifier") String itemspecifier,
175 MultipartOutput multipart);
177 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/")
178 ClientResponse<Response> createContactForItemInNamedAuthority(
179 @PathParam("parentspecifier") String parentspecifier,
180 @PathParam("itemcsid") String itemcsid,
181 MultipartOutput multipart);
183 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/")
184 ClientResponse<Response> createContactForNamedItemInNamedAuthority(
185 @PathParam("parentspecifier") String parentspecifier,
186 @PathParam("itemspecifier") String itemspecifier,
187 MultipartOutput multipart);
191 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
192 ClientResponse<MultipartInput> readContact(
193 @PathParam("parentcsid") String parentcsid,
194 @PathParam("itemcsid") String itemcsid,
195 @PathParam("csid") String csid);
197 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
198 ClientResponse<MultipartInput> readContactForNamedItem(
199 @PathParam("parentcsid") String parentcsid,
200 @PathParam("itemspecifier") String itemspecifier,
201 @PathParam("csid") String csid);
203 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
204 ClientResponse<MultipartInput> readContactInNamedAuthority(
205 @PathParam("parentspecifier") String parentspecifier,
206 @PathParam("itemcsid") String itemcsid,
207 @PathParam("csid") String csid);
209 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
210 ClientResponse<MultipartInput> readContactForNamedItemInNamedAuthority(
211 @PathParam("parentspecifier") String parentspecifier,
212 @PathParam("itemspecifier") String itemspecifier,
213 @PathParam("csid") String csid);
217 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
218 ClientResponse<MultipartInput> updateContact(
219 @PathParam("parentcsid") String parentcsid,
220 @PathParam("itemcsid") String itemcsid,
221 @PathParam("csid") String csid,
222 MultipartOutput multipart);
224 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
225 ClientResponse<MultipartInput> updateContactForNamedItem(
226 @PathParam("parentcsid") String parentcsid,
227 @PathParam("itemspecifier") String itemspecifier,
228 @PathParam("csid") String csid,
229 MultipartOutput multipart);
231 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
232 ClientResponse<MultipartInput> updateContactInNamedAuthority(
233 @PathParam("parentspecifier") String parentspecifier,
234 @PathParam("itemcsid") String itemcsid,
235 @PathParam("csid") String csid,
236 MultipartOutput multipart);
238 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
239 ClientResponse<MultipartInput> updateContactForNamedItemInNamedAuthority(
240 @PathParam("parentspecifier") String parentspecifier,
241 @PathParam("itemspecifier") String itemspecifier,
242 @PathParam("csid") String csid,
243 MultipartOutput multipart);
247 @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
248 ClientResponse<Response> deleteContact(
249 @PathParam("parentcsid") String parentcsid,
250 @PathParam("itemcsid") String itemcsid,
251 @PathParam("csid") String csid);
253 @Path("/{parentcsid}/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
254 ClientResponse<Response> deleteContactForNamedItem(
255 @PathParam("parentcsid") String parentcsid,
256 @PathParam("itemspecifier") String itemspecifier,
257 @PathParam("csid") String csid);
259 @Path("/urn:cspace:name({parentspecifier})/items/{itemcsid}/contacts/{csid}")
260 ClientResponse<Response> deleteContactInNamedAuthority(
261 @PathParam("parentspecifier") String parentspecifier,
262 @PathParam("itemcsid") String itemcsid,
263 @PathParam("csid") String csid);
265 @Path("/urn:cspace:name({parentspecifier})/items/urn:cspace:name({itemspecifier})/contacts/{csid}")
266 ClientResponse<Response> deleteContactForNamedItemInNamedAuthority(
267 @PathParam("parentspecifier") String parentspecifier,
268 @PathParam("itemspecifier") String itemspecifier,
269 @PathParam("csid") String csid);