Mercurial > hg > orthanc-java
annotate JavaSDK/be/uclouvain/orthanc/RestOutput.java @ 43:678bbed285a1 default tip
improved import of JNI in cmake
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 06 Sep 2024 13:53:54 +0200 |
parents | 15dc698243ac |
children |
rev | line source |
---|---|
0 | 1 package be.uclouvain.orthanc; |
2 | |
3 /** | |
18 | 4 * SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium |
0 | 5 * SPDX-License-Identifier: GPL-3.0-or-later |
6 */ | |
7 | |
8 /** | |
9 * Java plugin for Orthanc | |
18 | 10 * Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium |
0 | 11 * |
12 * This program is free software: you can redistribute it and/or | |
13 * modify it under the terms of the GNU General Public License as | |
14 * published by the Free Software Foundation, either version 3 of the | |
15 * License, or (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, but | |
18 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
20 * General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Public License | |
23 * along with this program. If not, see http://www.gnu.org/licenses/. | |
24 **/ | |
25 | |
26 | |
8
26c08ff926a3
added warning about auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
27 // WARNING: Auto-generated file. Do not modify it by hand. |
26c08ff926a3
added warning about auto-generated files
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
28 |
0 | 29 /** |
30 * Output for a call to the REST API of Orthanc | |
31 **/ | |
32 public class RestOutput { | |
33 private long self; | |
34 | |
35 /** | |
36 * Construct a Java object wrapping a C object that is managed by Orthanc. | |
37 * @param self Pointer to the C object. | |
38 **/ | |
39 protected RestOutput(long self) { | |
40 if (self == 0) { | |
41 throw new IllegalArgumentException("Null pointer"); | |
42 } else { | |
43 this.self = self; | |
44 } | |
45 } | |
46 | |
47 /** | |
48 * Return the C object that is associated with this Java wrapper. | |
49 * @return Pointer to the C object. | |
50 **/ | |
51 protected long getSelf() { | |
52 return self; | |
53 } | |
54 | |
55 | |
56 | |
57 /** | |
58 * Answer to a REST request. | |
59 * | |
60 * This function answers to a REST request with the content of a memory buffer. | |
61 * | |
62 * @param answer Pointer to the memory buffer containing the answer. | |
63 * @param mimeType The MIME type of the answer. | |
64 **/ | |
65 public void answerBuffer( | |
66 byte[] answer, | |
67 String mimeType) { | |
68 NativeSDK.OrthancPluginAnswerBuffer(self, answer, mimeType); | |
69 } | |
70 | |
71 /** | |
72 * Answer to a REST request with a PNG image. | |
73 * | |
74 * This function answers to a REST request with a PNG image. The parameters of this | |
75 * function describe a memory buffer that contains an uncompressed image. The image | |
76 * will be automatically compressed as a PNG image by the core system of Orthanc. | |
77 * | |
78 * @param format The memory layout of the uncompressed image. | |
79 * @param width The width of the image. | |
80 * @param height The height of the image. | |
81 * @param pitch The pitch of the image (i.e. the number of bytes between 2 | |
82 * successive lines of the image in the memory buffer). | |
83 * @param buffer The memory buffer containing the uncompressed image. | |
84 **/ | |
85 public void compressAndAnswerPngImage( | |
86 PixelFormat format, | |
87 int width, | |
88 int height, | |
89 int pitch, | |
90 byte[] buffer) { | |
91 NativeSDK.OrthancPluginCompressAndAnswerPngImage(self, format.getValue(), width, height, pitch, buffer); | |
92 } | |
93 | |
94 /** | |
95 * Redirect a REST request. | |
96 * | |
97 * This function answers to a REST request by redirecting the user to another URI | |
98 * using HTTP status 301. | |
99 * | |
100 * @param redirection Where to redirect. | |
101 **/ | |
102 public void redirect( | |
103 String redirection) { | |
104 NativeSDK.OrthancPluginRedirect(self, redirection); | |
105 } | |
106 | |
107 /** | |
108 * Send a HTTP status code. | |
109 * | |
110 * This function answers to a REST request by sending a HTTP status code (such as | |
111 * "400 - Bad Request"). Note that: - Successful requests (status 200) must use | |
112 * ::OrthancPluginAnswerBuffer(). - Redirections (status 301) must use | |
113 * ::OrthancPluginRedirect(). - Unauthorized access (status 401) must use | |
114 * ::OrthancPluginSendUnauthorized(). - Methods not allowed (status 405) must use | |
115 * ::OrthancPluginSendMethodNotAllowed(). | |
116 * | |
117 * @param status The HTTP status code to be sent. | |
118 **/ | |
119 public void sendHttpStatusCode( | |
120 short status) { | |
121 NativeSDK.OrthancPluginSendHttpStatusCode(self, status); | |
122 } | |
123 | |
124 /** | |
125 * Signal that a REST request is not authorized. | |
126 * | |
127 * This function answers to a REST request by signaling that it is not authorized. | |
128 * | |
129 * @param realm The realm for the authorization process. | |
130 **/ | |
131 public void sendUnauthorized( | |
132 String realm) { | |
133 NativeSDK.OrthancPluginSendUnauthorized(self, realm); | |
134 } | |
135 | |
136 /** | |
137 * Signal that this URI does not support this HTTP method. | |
138 * | |
139 * This function answers to a REST request by signaling that the queried URI does | |
140 * not support this method. | |
141 * | |
142 * @param allowedMethods The allowed methods for this URI (e.g. "GET,POST" after a | |
143 * PUT or a POST request). | |
144 **/ | |
145 public void sendMethodNotAllowed( | |
146 String allowedMethods) { | |
147 NativeSDK.OrthancPluginSendMethodNotAllowed(self, allowedMethods); | |
148 } | |
149 | |
150 /** | |
151 * Set a cookie. | |
152 * | |
153 * This function sets a cookie in the HTTP client. | |
154 * | |
155 * @param cookie The cookie to be set. | |
156 * @param value The value of the cookie. | |
157 **/ | |
158 public void setCookie( | |
159 String cookie, | |
160 String value) { | |
161 NativeSDK.OrthancPluginSetCookie(self, cookie, value); | |
162 } | |
163 | |
164 /** | |
165 * Set some HTTP header. | |
166 * | |
167 * This function sets a HTTP header in the HTTP answer. | |
168 * | |
169 * @param key The HTTP header to be set. | |
170 * @param value The value of the HTTP header. | |
171 **/ | |
172 public void setHttpHeader( | |
173 String key, | |
174 String value) { | |
175 NativeSDK.OrthancPluginSetHttpHeader(self, key, value); | |
176 } | |
177 | |
178 /** | |
179 * Start an HTTP multipart answer. | |
180 * | |
181 * Initiates a HTTP multipart answer, as the result of a REST request. | |
182 * | |
183 * @param subType The sub-type of the multipart answer ("mixed" or "related"). | |
184 * @param contentType The MIME type of the items in the multipart answer. | |
185 **/ | |
186 public void startMultipartAnswer( | |
187 String subType, | |
188 String contentType) { | |
189 NativeSDK.OrthancPluginStartMultipartAnswer(self, subType, contentType); | |
190 } | |
191 | |
192 /** | |
193 * Send an item as a part of some HTTP multipart answer. | |
194 * | |
195 * This function sends an item as a part of some HTTP multipart answer that was | |
196 * initiated by OrthancPluginStartMultipartAnswer(). | |
197 * | |
198 * @param answer Pointer to the memory buffer containing the item. | |
199 **/ | |
200 public void sendMultipartItem( | |
201 byte[] answer) { | |
202 NativeSDK.OrthancPluginSendMultipartItem(self, answer); | |
203 } | |
204 | |
205 /** | |
206 * Send a HTTP status, with a custom body. | |
207 * | |
208 * This function answers to a HTTP request by sending a HTTP status code (such as | |
209 * "400 - Bad Request"), together with a body describing the error. The body will | |
210 * only be returned if the configuration option "HttpDescribeErrors" of Orthanc is | |
211 * set to "true". | |
212 * | |
213 * Note that: - Successful requests (status 200) must use | |
214 * ::OrthancPluginAnswerBuffer(). - Redirections (status 301) must use | |
215 * ::OrthancPluginRedirect(). - Unauthorized access (status 401) must use | |
216 * ::OrthancPluginSendUnauthorized(). - Methods not allowed (status 405) must use | |
217 * ::OrthancPluginSendMethodNotAllowed(). | |
218 * | |
219 * @param status The HTTP status code to be sent. | |
220 * @param body The body of the answer. | |
221 **/ | |
222 public void sendHttpStatus( | |
223 short status, | |
224 byte[] body) { | |
225 NativeSDK.OrthancPluginSendHttpStatus(self, status, body); | |
226 } | |
227 | |
228 /** | |
229 * Answer to a REST request with a JPEG image. | |
230 * | |
231 * This function answers to a REST request with a JPEG image. The parameters of | |
232 * this function describe a memory buffer that contains an uncompressed image. The | |
233 * image will be automatically compressed as a JPEG image by the core system of | |
234 * Orthanc. | |
235 * | |
236 * @param format The memory layout of the uncompressed image. | |
237 * @param width The width of the image. | |
238 * @param height The height of the image. | |
239 * @param pitch The pitch of the image (i.e. the number of bytes between 2 | |
240 * successive lines of the image in the memory buffer). | |
241 * @param buffer The memory buffer containing the uncompressed image. | |
242 * @param quality The quality of the JPEG encoding, between 1 (worst quality, best | |
243 * compression) and 100 (best quality, worst compression). | |
244 **/ | |
245 public void compressAndAnswerJpegImage( | |
246 PixelFormat format, | |
247 int width, | |
248 int height, | |
249 int pitch, | |
250 byte[] buffer, | |
251 byte quality) { | |
252 NativeSDK.OrthancPluginCompressAndAnswerJpegImage(self, format.getValue(), width, height, pitch, buffer, quality); | |
253 } | |
254 | |
255 /** | |
256 * Provide a detailed description for an HTTP error. | |
257 * | |
258 * This function sets the detailed description associated with an HTTP error. This | |
259 * description will be displayed in the "Details" field of the JSON body of the | |
260 * HTTP answer. It is only taken into consideration if the REST callback returns an | |
261 * error code that is different from "OrthancPluginErrorCode_Success", and if the | |
262 * "HttpDescribeErrors" configuration option of Orthanc is set to "true". | |
263 * | |
264 * @param details The details of the error message. | |
265 * @param log Whether to also write the detailed error to the Orthanc logs. | |
266 **/ | |
267 public void setHttpErrorDetails( | |
268 String details, | |
269 byte log) { | |
270 NativeSDK.OrthancPluginSetHttpErrorDetails(self, details, log); | |
271 } | |
272 | |
273 } |