Interface TopcatCommunicator

  • All Known Implementing Classes:
    SampCommunicator

    public interface TopcatCommunicator
    Abstract interface for inter-application messaging requirements of TOPCAT. This can be implemented by SAMP or PLASTIC (or others).
    Since:
    4 Sep 2008
    Author:
    Mark Taylor
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addConnectionListener​(javax.swing.event.ChangeListener listener)
      Adds a listener which will be notified any time that connection status may have changed.
      ImageActivity createImageActivity()
      Returns an object which can be used to display images.
      Transmitter createImageTransmitter​(DensityWindow densityWindow)
      Returns an object that can send the density map currently displayed in the density plot window to other applications as a FITS image.
      javax.swing.JComponent createInfoPanel()
      Optionally returns a panel which can be displayed in the control window to show communications status.
      Transmitter createResourceListTransmitter​(uk.ac.starlink.vo.RegistryPanel regPanel, java.lang.String resourceType)
      Returns an object that can send the currently displayed resources from a registry panel.
      RowActivity createRowActivity()
      Returns an object which can be used to send messages highlighting single table rows.
      SkyPointActivity createSkyPointActivity()
      Returns an object which can be used to send messages drawing attention to particular sky positions.
      SpectrumActivity createSpectrumActivity()
      Returns an object which can be used to display spectra.
      SubsetActivity createSubsetActivity()
      Returns an object which can be used to send messages selecting table row subsets.
      Transmitter createSubsetTransmitter​(TopcatModel tcModel, SubsetWindow subsetWindow)
      Returns an object that can send the RowSubset currently selected in a given subset window to other applications as a row selection on a commonly-known table.
      javax.swing.Action createWindowAction​(java.awt.Component parent)
      Constructs an action which will display a control window for this communicator.
      javax.swing.Action[] getInteropActions()
      Returns a list of actions suitable for insertion in a general purpose menu associated with interoperability functionality (register/unregister etc).
      java.lang.String getProtocolName()
      Returns the name of the protocol over which this object is implemented.
      Transmitter getTableTransmitter()
      Returns an object that can send send the currently selected table from TOPCAT to other applications.
      boolean isConnected()
      Indicates (without attempting a connection) whether a hub connection is currently in force.
      void maybeStartHub()
      According to the policy of this communicator, this method may start a hub if none is already running.
      boolean setActive()
      Must be called before any of the actions provided by this object are used.
      void startHub​(boolean external)
      Attempts to start a messaging hub suitable for use with this object.
    • Method Detail

      • getProtocolName

        java.lang.String getProtocolName()
        Returns the name of the protocol over which this object is implemented.
        Returns:
        protocol name
      • setActive

        boolean setActive()
        Must be called before any of the actions provided by this object are used. May initiate communication with the messaging system etc.
        Returns:
        true iff there is a current connection
      • getInteropActions

        javax.swing.Action[] getInteropActions()
        Returns a list of actions suitable for insertion in a general purpose menu associated with interoperability functionality (register/unregister etc).
        Returns:
        action list
      • getTableTransmitter

        Transmitter getTableTransmitter()
        Returns an object that can send send the currently selected table from TOPCAT to other applications.
        Returns:
        table transmitter
      • createImageTransmitter

        Transmitter createImageTransmitter​(DensityWindow densityWindow)
        Returns an object that can send the density map currently displayed in the density plot window to other applications as a FITS image.
        Parameters:
        densityWindow - density plot window
        Returns:
        new image transmitter
      • createSubsetTransmitter

        Transmitter createSubsetTransmitter​(TopcatModel tcModel,
                                            SubsetWindow subsetWindow)
        Returns an object that can send the RowSubset currently selected in a given subset window to other applications as a row selection on a commonly-known table.
        Parameters:
        tcModel - table
        subsetWindow - subset window
        Returns:
        new subset transmitter
      • createResourceListTransmitter

        Transmitter createResourceListTransmitter​(uk.ac.starlink.vo.RegistryPanel regPanel,
                                                  java.lang.String resourceType)
        Returns an object that can send the currently displayed resources from a registry panel.
        Parameters:
        regPanel - registry panel component
        resourceType - resource subtype - must match the appropriate voresource.loadlist.* MType subtype
        Returns:
        new resource list transmitter
      • createSkyPointActivity

        SkyPointActivity createSkyPointActivity()
        Returns an object which can be used to send messages drawing attention to particular sky positions.
        Returns:
        new activity object
      • createRowActivity

        RowActivity createRowActivity()
        Returns an object which can be used to send messages highlighting single table rows.
        Returns:
        new activity object
      • createSubsetActivity

        SubsetActivity createSubsetActivity()
        Returns an object which can be used to send messages selecting table row subsets.
        Returns:
        new activity object
      • createImageActivity

        ImageActivity createImageActivity()
        Returns an object which can be used to display images. Note this may include options apart from interop-type ones (display in local viewers).
        Returns:
        new activity object
      • createSpectrumActivity

        SpectrumActivity createSpectrumActivity()
        Returns an object which can be used to display spectra.
        Returns:
        new activity object
      • startHub

        void startHub​(boolean external)
               throws java.io.IOException
        Attempts to start a messaging hub suitable for use with this object.
        Parameters:
        external - true to run hub in external JVM, false to run it in the current one
        Throws:
        java.io.IOException
      • maybeStartHub

        void maybeStartHub()
                    throws java.io.IOException
        According to the policy of this communicator, this method may start a hub if none is already running.
        Throws:
        java.io.IOException
      • createInfoPanel

        javax.swing.JComponent createInfoPanel()
        Optionally returns a panel which can be displayed in the control window to show communications status.
        Returns:
        status component, or null if unimplemented
      • createWindowAction

        javax.swing.Action createWindowAction​(java.awt.Component parent)
        Constructs an action which will display a control window for this communicator.
        Parameters:
        parent - parent component
        Returns:
        communicator control window, or null if none is available
      • isConnected

        boolean isConnected()
        Indicates (without attempting a connection) whether a hub connection is currently in force.
        Returns:
        whether hub is connected
      • addConnectionListener

        void addConnectionListener​(javax.swing.event.ChangeListener listener)
        Adds a listener which will be notified any time that connection status may have changed.
        Parameters:
        listener - listener to add