annotate Sphinx/source/plugins/java.rst @ 1021:a3436ae3709c Orthanc-1.12.3

Orthanc 1.12.3
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 31 Jan 2024 14:01:54 +0100
parents 3b62529bfe91
children ebe3214f3ab0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
999
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _java-plugin:
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 Java plugin for Orthanc
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 =======================
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 .. contents::
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 Overview
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 --------
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 This plugin can be used to write :ref:`Orthanc plugins
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 <creating-plugins>` using the `Java programming language
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 <https://en.wikipedia.org/wiki/Java_(programming_language)>`__ instead
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 of the more complex C/C++ programming languages.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 Java plugins have access to more features and a more consistent SDK
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 than :ref:`Lua scripts <lua>`. The largest part of the Java API is
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 automatically generated from the `Orthanc plugin SDK in C
1021
a3436ae3709c Orthanc 1.12.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 999
diff changeset
21 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
999
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 front-end.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 As of release 1.0 of the plugin, the coverage of the C SDK is about
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 76% (122 functions are automatically wrapped in Java out of a total of
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 160 functions from the Orthanc SDK 1.10.0).
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 Source code
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 -----------
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 * Link to the `official releases of this plugin
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 <https://orthanc.uclouvain.be/downloads/sources/orthanc-java/index.html>`__.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 * Link to the `code repository
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 <https://orthanc.uclouvain.be/hg/orthanc-java/>`__.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 Licensing
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 ---------
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 This plugin is licensed under the terms of the `GPLv3+ license
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 <https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License>`__,
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 which is the same as the core of Orthanc.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 This has an important consequence: If you distribute Orthanc to
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 clients together with one Java plugin, you **must** disclose the
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 source code of your Java script to the Orthanc community under the
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 terms of the GPL or AGPL licenses.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 We suggest you to put the source code of your Java scripts on the
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 dedicated `"OrthancContributed" repository on GitHub
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__,
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 and/or to send it to the `Orthanc Users discussion forum
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 <https://discourse.orthanc-server.org>`__.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 Check out the :ref:`FAQ about licensing <licensing>` for more context.
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 Usage
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 -----
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 FHIR server
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 -----------
3b62529bfe91 added java plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67