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