Class ConnectorAction

java.lang.Object
javax.swing.AbstractAction
uk.ac.starlink.connect.ConnectorAction
All Implemented Interfaces:
ActionListener, Serializable, Cloneable, EventListener, Action

public class ConnectorAction extends AbstractAction
Action which controls logging in to and out of a remote service using a Connector object. This action can be put into a button whose text will read "Log In" and "Log Out" as appropriate. It has a property with the key CONNECTION_PROPERTY which contains the active Connection object, so that PropertyChangeListeners may be configured to watch when a connection is established or broken. A log in attempt will pop up a modal dialogue asking for the various authorization information required to attempt the connection.
Since:
18 Feb 2005
Author:
Mark Taylor (Starlink)
See Also:
  • Field Details

  • Constructor Details

    • ConnectorAction

      public ConnectorAction(Connector connector)
      Constructor.
      Parameters:
      connector - connector describing the service this action can connect to
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent evt)
    • createDialog

      protected JDialog createDialog(Component parent)
      Constructs the dialogue which is used to ask the user for authorization information.
      Parameters:
      parent - parent component
      Returns:
      dialogue
    • setEnabled

      public void setEnabled(boolean enabled)
      Specified by:
      setEnabled in interface Action
      Overrides:
      setEnabled in class AbstractAction
    • getConnector

      public Connector getConnector()
      Returns the connector used by this action.
      Returns:
      connector
    • getConnection

      public Connection getConnection()
      Returns the currently active connection. May be null if no connection is active. If the connection has expired, this may result in the connection property being reset to null. Thus it's very likely that the connection returned from this method will be active, but it can't be guaranteed that it won't have expired between this method returning it and the caller receiving it.
      Returns:
      connection, hopefully an active one