Package uk.ac.starlink.topcat.interop
Interface TopcatCommunicator
-
- All Known Implementing Classes:
SampCommunicator
public interface TopcatCommunicatorAbstract 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 voidaddConnectionListener(javax.swing.event.ChangeListener listener)Adds a listener which will be notified any time that connection status may have changed.ImageActivitycreateImageActivity()Returns an object which can be used to display images.TransmittercreateImageTransmitter(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.JComponentcreateInfoPanel()Optionally returns a panel which can be displayed in the control window to show communications status.TransmittercreateResourceListTransmitter(uk.ac.starlink.vo.RegistryPanel regPanel, java.lang.String resourceType)Returns an object that can send the currently displayed resources from a registry panel.RowActivitycreateRowActivity()Returns an object which can be used to send messages highlighting single table rows.SkyPointActivitycreateSkyPointActivity()Returns an object which can be used to send messages drawing attention to particular sky positions.SpectrumActivitycreateSpectrumActivity()Returns an object which can be used to display spectra.SubsetActivitycreateSubsetActivity()Returns an object which can be used to send messages selecting table row subsets.TransmittercreateSubsetTransmitter(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.ActioncreateWindowAction(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.StringgetProtocolName()Returns the name of the protocol over which this object is implemented.TransmittergetTableTransmitter()Returns an object that can send send the currently selected table from TOPCAT to other applications.booleanisConnected()Indicates (without attempting a connection) whether a hub connection is currently in force.voidmaybeStartHub()According to the policy of this communicator, this method may start a hub if none is already running.booleansetActive()Must be called before any of the actions provided by this object are used.voidstartHub(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- tablesubsetWindow- 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 componentresourceType- 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.IOExceptionAttempts 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.IOExceptionAccording 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
-
-