Package cds.tools

## Interface ExtApp

- All Known Implementing Classes:
    `TopcatExtApp`

      public interface ExtApp

  Interface between two Virtual Observatory applications, such as Aladin (CDS) or VOPlot (PSPL/IUCAA)
  Version:
    1.0 : 14 march 2003 creation
  Author:
    Pierre Fernique [CDS] on a collaboration between CDS team and PSPL/IUCAA team

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `execCommand​(java.lang.String cmd)` | Allow an "external" application to control by script this application
    `void` | `loadVOTable​(ExtApp app, java.io.InputStream in)` | Allow an "external" application to send new data via an InputStream in VOTable format.
    `void` | `selectVOTableObject​(java.lang.String[] oid)` | Call or Callback asking the other application to SELECT objects found in a VOTable previous transmission via loadVOTable() method.
    `void` | `setVisible​(boolean flag)` | Allow an "external" application to show or hide this application
    `void` | `showVOTableObject​(java.lang.String[] oid)` | Call or Callback asking the other application to SHOW objects found in a VOTable previous transmission via loadVOTable() method.

- - ### Method Detail

    - #### loadVOTable

          void loadVOTable​(ExtApp app,
                           java.io.InputStream in)

      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 : . 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.
      Parameters:
        `app` - "external" application compliante with ExtApp java interface
        `in` - VOTable stream

    - #### setVisible

          void setVisible​(boolean flag)

      Allow an "external" application to show or hide this application

    - #### execCommand

          java.lang.String execCommand​(java.lang.String cmd)

      Allow an "external" application to control by script this application
      Parameters:
        `cmd` - script command depending to this application
      Returns:
        error or messages, can be null

    - #### showVOTableObject

          void showVOTableObject​(java.lang.String[] oid)

      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)
      Parameters:
        `oid` - list of identifiers found in VOTables (see comment of the loadVOTable() method.

    - #### selectVOTableObject

          void selectVOTableObject​(java.lang.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.)
      Parameters:
        `oid` - list of identifiers found in VOTables (see comment of the loadVOTable() method.

Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.