2 * CollectionObjectProxy.java
4 * {Purpose of This Class}
6 * {Other Notes Relating to This Class (Optional)}
9 * $LastChangedRevision: $
12 * This document is a part of the source code and related artifacts
13 * for CollectionSpace, an open source collections management system
14 * for museums and related institutions:
16 * http://www.collectionspace.org
17 * http://wiki.collectionspace.org
19 * Copyright © 2009 {Contributing Institution}
21 * Licensed under the Educational Community License (ECL), Version 2.0.
22 * You may not use this file except in compliance with this License.
24 * You may obtain a copy of the ECL 2.0 License at
25 * https://source.collectionspace.org/collection-space/LICENSE.txt
27 package org.collectionspace.services.client;
29 import javax.ws.rs.Consumes;
30 import javax.ws.rs.DELETE;
31 import javax.ws.rs.GET;
32 import javax.ws.rs.POST;
33 import javax.ws.rs.PUT;
34 import javax.ws.rs.Path;
35 import javax.ws.rs.PathParam;
36 import javax.ws.rs.QueryParam;
37 import javax.ws.rs.Produces;
38 import javax.ws.rs.core.Context;
39 import javax.ws.rs.core.Response;
40 import javax.ws.rs.core.UriInfo;
42 import org.collectionspace.services.client.IClientQueryParams;
43 import org.collectionspace.services.client.CollectionSpaceProxy;
44 import org.collectionspace.services.common.query.IQueryManager;
45 import org.collectionspace.services.common.authorityref.AuthorityRefList;
46 import org.collectionspace.services.jaxb.AbstractCommonList;
47 import org.collectionspace.services.collectionobject.CollectionobjectsCommonList;
49 import org.jboss.resteasy.client.ClientResponse;
51 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
52 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
55 * @version $Revision:$
56 * FIXME: http://issues.collectionspace.org/browse/CSPACE-1684
58 @Path("/collectionobjects/")
59 @Produces({"multipart/mixed"})
60 @Consumes({"multipart/mixed"})
61 public interface CollectionObjectProxy extends CollectionSpaceProxy {
66 * @return the client response
69 @Produces({"application/xml"})
70 ClientResponse<CollectionobjectsCommonList> readList();
75 * @return the client response
79 @Produces({"application/xml"})
80 ClientResponse<Response> roundtrip();
85 * @param keywords the keywords
86 * @return the client response
90 @Produces({"application/xml"})
91 ClientResponse<CollectionobjectsCommonList> keywordSearch(
92 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS) String keywords);
98 * @param multipart the multipart
99 * @return the client response
102 ClientResponse<Response> create(MultipartOutput multipart);
108 * @param csid the csid
109 * @return the client response
113 ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
115 // List Authority references
117 * Gets the authority refs.
119 * @param csid the csid
120 * @return the authority refs
123 @Produces({"application/xml"})
124 @Path("/{csid}/authorityrefs/")
125 ClientResponse<AuthorityRefList> getAuthorityRefs(@PathParam("csid") String csid);
132 * @param csid the csid
133 * @param multipart the multipart
134 * @return the client response
138 ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
144 * @param csid the csid
145 * @return the client response
149 ClientResponse<Response> delete(@PathParam("csid") String csid);