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.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;
24 * @version $Revision:$
26 @Path("/locationauthorities/")
27 @Produces({"multipart/mixed"})
28 @Consumes({"multipart/mixed"})
29 public interface LocationAuthorityProxy extends CollectionSpaceProxy {
31 // List Locationauthorities
33 @Produces({"application/xml"})
34 ClientResponse<LocationauthoritiesCommonList> readList();
38 ClientResponse<Response> create(MultipartOutput multipart);
43 ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
47 @Path("/urn:cspace:name({name})")
48 ClientResponse<MultipartInput> readByName(@PathParam("name") String name);
53 ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
58 ClientResponse<Response> delete(@PathParam("csid") String csid);
60 // List Items matching a partial term or keywords.
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);
72 * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
75 @Path("{csid}/items/{itemcsid}/refObjs")
76 @Produces("application/xml")
77 ClientResponse<AuthorityRefDocList> getReferencingObjects(
78 @PathParam("csid") String parentcsid,
79 @PathParam("itemcsid") String itemcsid);
81 // List Items for a named authority matching a partial term or keywords.
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);
92 @Path("/{vcsid}/items/")
93 ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, MultipartOutput multipart);
97 @Path("/{vcsid}/items/{csid}")
98 ClientResponse<MultipartInput> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
102 @Path("/{vcsid}/items/{csid}")
103 ClientResponse<MultipartInput> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, MultipartOutput multipart);
107 @Path("/{vcsid}/items/{csid}")
108 ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
112 @Produces({"application/xml"})
113 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
114 ClientResponse<ContactsCommonList> readContactList(
115 @PathParam("parentcsid") String parentcsid,
116 @PathParam("itemcsid") String itemcsid);
120 @Path("/{parentcsid}/items/{itemcsid}/contacts/")
121 ClientResponse<Response> createContact(
122 @PathParam("parentcsid") String parentcsid,
123 @PathParam("itemcsid") String itemcsid,
124 MultipartOutput multipart);
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);
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);
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);