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 // * @param pageSize the page size
76 // * @param pageNumber the page number
77 // * @return the client response
80 // @Produces({"application/xml"})
82 // ClientResponse<CollectionobjectsCommonList> readList(
83 // @QueryParam(IClientQueryParams.PAGE_SIZE_PARAM) String pageSize,
84 // @QueryParam(IClientQueryParams.START_PAGE_PARAM) String pageNumber);
91 * @return the client response
94 @Path("/{ms}/roundtrip")
95 @Produces({"application/xml"})
96 ClientResponse<Response> roundtrip(@PathParam("ms") int ms);
101 * @param keywords the keywords
102 * @return the client response
105 @Produces({"application/xml"})
106 ClientResponse<CollectionobjectsCommonList> keywordSearch(
107 @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);
113 * @param multipart the multipart
114 * @return the client response
117 ClientResponse<Response> create(MultipartOutput multipart);
123 * @param csid the csid
124 * @return the client response
128 ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
130 // List Authority references
132 * Gets the authority refs.
134 * @param csid the csid
135 * @return the authority refs
138 @Produces({"application/xml"})
139 @Path("/{csid}/authorityrefs/")
140 ClientResponse<AuthorityRefList> getAuthorityRefs(@PathParam("csid") String csid);
147 * @param csid the csid
148 * @param multipart the multipart
149 * @return the client response
153 ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
159 * @param csid the csid
160 * @return the client response
164 ClientResponse<Response> delete(@PathParam("csid") String csid);