1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
From: Ole Streicher <olebole@debian.org>
Date: Fri, 17 Feb 2017 16:44:42 +0100
Subject: Add cds.tools.ExtApp
This file is copied from Aladin.
---
src/main/cds/tools/ExtApp.java | 83 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
create mode 100644 src/main/cds/tools/ExtApp.java
diff --git a/src/main/cds/tools/ExtApp.java b/src/main/cds/tools/ExtApp.java
new file mode 100644
index 0000000..50dc0c2
--- /dev/null
+++ b/src/main/cds/tools/ExtApp.java
@@ -0,0 +1,83 @@
+// Copyright 2010 - UDS/CNRS
+// The Aladin program is distributed under the terms
+// of the GNU General Public License version 3.
+//
+//This file is part of Aladin.
+//
+// Aladin is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Aladin is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// The GNU General Public License is available in COPYING file
+// along with Aladin.
+//
+
+package cds.tools;
+import java.io.*;
+
+/**
+ * Interface between two Virtual Observatory applications, such as
+ * Aladin (CDS) or VOPlot (PSPL/IUCAA)
+ *
+ * @author Pierre Fernique [CDS] on a collaboration between
+ * CDS team and PSPL/IUCAA team
+ * @version 1.0 : 14 march 2003 creation
+ */
+public abstract interface ExtApp {
+ /**
+ * Allow an "external" application to send new data via an InputStream
+ * in VOTable format. The reference to this "external" application has to
+ * passed in order to eventually calls back the "external" application,
+ * or to be called again by the "external" application concerning the
+ * VOTable objects that it had sent before (see showVOTableObject() and
+ * selectVOTableObject() methods below)
+ * For this calls or callbacks, the "external" application has to
+ * create a new VOTable column giving an unique identifier for each object
+ * that it has sent. This column has to be described by the following
+ * VOTable FIELD tag : <FIELD name="_OID" type="hidden">. It is strongly
+ * recommended to add an unambigus prefix to avoid conflicts with the
+ * assignations done by the "external" application and its own assignations.
+ * The unicity has to be maintained during all the session. It means that
+ * successive VOTables must have difference unique identifiers.
+ * @param app "external" application compliante with ExtApp java interface
+ * @param in VOTable stream
+ */
+ public abstract void loadVOTable(ExtApp app, InputStream in);
+
+ /**
+ * Allow an "external" application to show or hide this application
+ */
+ public abstract void setVisible(boolean flag);
+
+ /**
+ * Allow an "external" application to control by script this application
+ * @param cmd script command depending to this application
+ * @return error or messages, can be null
+ */
+ public abstract String execCommand(String cmd);
+
+ /**
+ * Call or Callback asking the other application to SHOW objects found
+ * in a VOTable previous transmission via loadVOTable() method.
+ * The action "SHOW" is a choice of the other application (for example a blink)
+ * @param oid list of identifiers found in VOTables (see comment of the
+ * loadVOTable() method.
+ */
+ public abstract void showVOTableObject(String oid[]);
+
+ /**
+ * Call or Callback asking the other application to SELECT objects found
+ * in a VOTable previous transmission via loadVOTable() method.
+ * The action "SELECT" is a choice of the other application (for example select
+ * objects by showing the corresponding measurements, it can be the same thing
+ * that the "SHOW" action - see showVOTableObject() method.)
+ * @param oid list of identifiers found in VOTables (see comment of the
+ * loadVOTable() method.
+ */
+ public abstract void selectVOTableObject(String oid[]);
+}
\ No newline at end of file
|