]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
d7d30b0954395224f63d2811f1e2146d27b5ef1f
[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.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;
24
25 /**
26  * @version $Revision$
27  */
28 @Path("/orgauthorities/")
29 @Produces({"multipart/mixed"})
30 @Consumes({"multipart/mixed"})
31 public interface OrgAuthorityProxy extends CollectionSpaceProxy {
32
33     // List OrgAuthorities
34     @GET
35     @Produces({"application/xml"})
36     ClientResponse<OrgauthoritiesCommonList> readList();
37
38     //(C)reate
39     @POST
40     ClientResponse<Response> create(MultipartOutput multipart);
41
42     //(R)ead
43     @GET
44     @Path("/{csid}")
45     ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
46
47     //(R)ead by name
48     @GET
49     @Path("/urn:cspace:name({name})")
50     ClientResponse<MultipartInput> readByName(@PathParam("name") String name);
51
52     //(U)pdate
53     @PUT
54     @Path("/{csid}")
55     ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
56
57     //(D)elete
58     @DELETE
59     @Path("/{csid}")
60     ClientResponse<Response> delete(@PathParam("csid") String csid);
61
62     // List Items with options for matching a partial term or keywords.
63     @GET
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);
70
71     /**
72      * @param parentcsid 
73      * @param itemcsid 
74      * @param csid
75      * @return
76      * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
77      */
78     @GET
79     @Path("{csid}/items/{itemcsid}/refObjs")
80     @Produces("application/xml")
81     ClientResponse<AuthorityRefDocList> getReferencingObjects(
82             @PathParam("csid") String parentcsid,
83             @PathParam("itemcsid") String itemcsid);    
84
85     // List Items for a named authority matching a partial term or keywords.
86     @GET
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);
93
94     // List Item Authority References
95     @GET
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);
101
102     //(C)reate Item
103     @POST
104     @Path("/{vcsid}/items/")
105     ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, MultipartOutput multipart);
106
107     //(R)ead Item
108     @GET
109     @Path("/{vcsid}/items/{csid}")
110     ClientResponse<MultipartInput> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
111
112     //(R)ead Named Item
113     @GET
114     @Path("/{vcsid}/items/urn:cspace:name({specifier})")
115     ClientResponse<MultipartInput> readNamedItem(@PathParam("vcsid") String vcsid, @PathParam("specifier") String specifier);
116
117     //(R)ead Item In Named Authority
118     @GET
119     @Path("/urn:cspace:name({specifier})/items/{csid}")
120     ClientResponse<MultipartInput> readItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("csid") String csid);
121
122     //(R)ead Named Item In Named Authority
123     @GET
124     @Path("/urn:cspace:name({specifier})/items/urn:cspace:name({itemspecifier})")
125     ClientResponse<MultipartInput> readNamedItemInNamedAuthority(@PathParam("specifier") String specifier, @PathParam("itemspecifier") String itemspecifier);
126
127     //(U)pdate Item
128     @PUT
129     @Path("/{vcsid}/items/{csid}")
130     ClientResponse<MultipartInput> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, MultipartOutput multipart);
131
132     //(D)elete Item
133     @DELETE
134     @Path("/{vcsid}/items/{csid}")
135     ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
136
137      // List Contacts
138     @GET
139     @Produces({"application/xml"})
140     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
141     ClientResponse<ContactsCommonList> readContactList(
142             @PathParam("parentcsid") String parentcsid,
143             @PathParam("itemcsid") String itemcsid);
144     @GET
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);
150     @GET
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);
156     @GET
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);
162
163     //(C)reate Contact
164     @POST
165     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
166     ClientResponse<Response> createContact(
167             @PathParam("parentcsid") String parentcsid,
168             @PathParam("itemcsid") String itemcsid,
169             MultipartOutput multipart);
170     @POST
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);
176     @POST
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);
182     @POST
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);
188
189      //(R)ead Contact
190     @GET
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);
196     @GET
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);
202     @GET
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);
208     @GET
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);
214
215     //(U)pdate Contact
216     @PUT
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);
223     @PUT
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);
230     @PUT
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);
237     @PUT
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);
244
245     //(D)elete Contact
246     @DELETE
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);
252     @DELETE
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);
258     @DELETE
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);
264     @DELETE
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);
270
271 }