]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
54f2091cef632c1d014126a534f6aabff280f88d
[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.core.Response;
12
13 import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
14 import org.collectionspace.services.common.authorityref.AuthorityRefList;
15 import org.collectionspace.services.contact.ContactsCommonList;
16 import org.collectionspace.services.organization.OrgauthoritiesCommonList;
17 import org.collectionspace.services.organization.OrganizationsCommonList;
18 import org.jboss.resteasy.client.ClientResponse;
19 import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
20 import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
21
22 /**
23  * @version $Revision:$
24  */
25 @Path("/orgauthorities/")
26 @Produces({"multipart/mixed"})
27 @Consumes({"multipart/mixed"})
28 public interface OrgAuthorityProxy extends CollectionSpaceProxy {
29
30     // List OrgAuthorities
31     @GET
32     @Produces({"application/xml"})
33     ClientResponse<OrgauthoritiesCommonList> readList();
34
35     //(C)reate
36     @POST
37     ClientResponse<Response> create(MultipartOutput multipart);
38
39     //(R)ead
40     @GET
41     @Path("/{csid}")
42     ClientResponse<MultipartInput> read(@PathParam("csid") String csid);
43
44     //(R)ead by name
45     @GET
46     @Path("/urn:cspace:name({name})")
47     ClientResponse<MultipartInput> readByName(@PathParam("name") String name);
48
49     //(U)pdate
50     @PUT
51     @Path("/{csid}")
52     ClientResponse<MultipartInput> update(@PathParam("csid") String csid, MultipartOutput multipart);
53
54     //(D)elete
55     @DELETE
56     @Path("/{csid}")
57     ClientResponse<Response> delete(@PathParam("csid") String csid);
58
59     // List Items
60     @GET
61     @Produces({"application/xml"})
62     @Path("/{vcsid}/items/")
63     ClientResponse<OrganizationsCommonList> readItemList(@PathParam("vcsid") String vcsid);
64     
65     /**
66      * @param parentcsid 
67      * @param itemcsid 
68      * @param csid
69      * @return
70      * @see org.collectionspace.services.client.IntakeProxy#getAuthorityRefs(java.lang.String)
71      */
72     @GET
73     @Path("{csid}/items/{itemcsid}/refObjs")
74     @Produces("application/xml")
75     ClientResponse<AuthorityRefDocList> getReferencingObjects(
76             @PathParam("csid") String parentcsid,
77             @PathParam("itemcsid") String itemcsid);    
78
79     // List Items for a named authority
80     @GET
81     @Produces({"application/xml"})
82     @Path("/urn:cspace:name({specifier})/items/")
83     ClientResponse<OrganizationsCommonList> readItemListForNamedAuthority(@PathParam("specifier") String specifier);
84
85     // List Item Authority References
86     @GET
87     @Produces({"application/xml"})
88     @Path("/{parentcsid}/items/{itemcsid}/authorityrefs/")
89     public ClientResponse<AuthorityRefList> getItemAuthorityRefs(
90             @PathParam("parentcsid") String parentcsid,
91             @PathParam("itemcsid") String itemcsid);
92
93     //(C)reate Item
94     @POST
95     @Path("/{vcsid}/items/")
96     ClientResponse<Response> createItem(@PathParam("vcsid") String vcsid, MultipartOutput multipart);
97
98     //(R)ead Item
99     @GET
100     @Path("/{vcsid}/items/{csid}")
101     ClientResponse<MultipartInput> readItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
102
103     //(U)pdate Item
104     @PUT
105     @Path("/{vcsid}/items/{csid}")
106     ClientResponse<MultipartInput> updateItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid, MultipartOutput multipart);
107
108     //(D)elete Item
109     @DELETE
110     @Path("/{vcsid}/items/{csid}")
111     ClientResponse<Response> deleteItem(@PathParam("vcsid") String vcsid, @PathParam("csid") String csid);
112
113      // List Contacts
114     @GET
115     @Produces({"application/xml"})
116     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
117     ClientResponse<ContactsCommonList> readContactList(
118             @PathParam("parentcsid") String parentcsid,
119             @PathParam("itemcsid") String itemcsid);
120
121     //(C)reate Contact
122     @POST
123     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
124     ClientResponse<Response> createContact(
125             @PathParam("parentcsid") String parentcsid,
126             @PathParam("itemcsid") String itemcsid,
127             MultipartOutput multipart);
128
129      //(R)ead Contact
130     @GET
131     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
132     ClientResponse<MultipartInput> readContact(
133             @PathParam("parentcsid") String parentcsid,
134             @PathParam("itemcsid") String itemcsid,
135             @PathParam("csid") String csid);
136
137     //(U)pdate Contact
138     @PUT
139     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
140     ClientResponse<MultipartInput> updateContact(
141             @PathParam("parentcsid") String parentcsid,
142             @PathParam("itemcsid") String itemcsid,
143             @PathParam("csid") String csid,
144             MultipartOutput multipart);
145
146     //(D)elete Contact
147     @DELETE
148     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
149     ClientResponse<Response> deleteContact(
150             @PathParam("parentcsid") String parentcsid,
151             @PathParam("itemcsid") String itemcsid,
152             @PathParam("csid") String csid);
153
154 }