]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
162c585723908a2d4f5b27b1a736c9e6d06820b3
[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
145     //(C)reate Contact
146     @POST
147     @Path("/{parentcsid}/items/{itemcsid}/contacts/")
148     ClientResponse<Response> createContact(
149             @PathParam("parentcsid") String parentcsid,
150             @PathParam("itemcsid") String itemcsid,
151             MultipartOutput multipart);
152
153      //(R)ead Contact
154     @GET
155     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
156     ClientResponse<MultipartInput> readContact(
157             @PathParam("parentcsid") String parentcsid,
158             @PathParam("itemcsid") String itemcsid,
159             @PathParam("csid") String csid);
160
161     //(U)pdate Contact
162     @PUT
163     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
164     ClientResponse<MultipartInput> updateContact(
165             @PathParam("parentcsid") String parentcsid,
166             @PathParam("itemcsid") String itemcsid,
167             @PathParam("csid") String csid,
168             MultipartOutput multipart);
169
170     //(D)elete Contact
171     @DELETE
172     @Path("/{parentcsid}/items/{itemcsid}/contacts/{csid}")
173     ClientResponse<Response> deleteContact(
174             @PathParam("parentcsid") String parentcsid,
175             @PathParam("itemcsid") String itemcsid,
176             @PathParam("csid") String csid);
177
178 }