uk.ac.starlink.connect

## Interface Connector

-     public interface Connector

  Interface for logging in to a remote facility.
  Since:
    18 Feb 2005

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `javax.swing.Icon` | `getIcon()` Returns an icon which labels this connector.
    `AuthKey[]` | `getKeys()` Returns an array of authorization keys whose values are required to attempt a connection.
    `java.lang.String` | `getName()` Returns the name of the type of facility to which this connector can connect.
    `Connection` | `logIn(java.util.Map<AuthKey,?> authValues)` Attempts to open a connection.

- - ### Method Detail

    - #### getName

          java.lang.String getName()

      Returns the name of the type of facility to which this connector can connect.
      Returns:
        connector type

    - #### getIcon

          javax.swing.Icon getIcon()

      Returns an icon which labels this connector. The icon should preferably be 20x20 pixels. Null may be returned if you have no suitable icon.
      Returns:
        icon for this connector

    - #### getKeys

          AuthKey[] getKeys()

      Returns an array of authorization keys whose values are required to attempt a connection. These will commonly include name and password keys, but there may be others.
      Returns:
        authorization keys

    - #### logIn

          Connection logIn(java.util.Map<AuthKey,?> authValues)
                    throws java.io.IOException

      Attempts to open a connection. The supplied `authValues` map contains an entry for each of the keys returned by `getKeys()`, with the entry's value being the value for that key. Thus the values will typically be the user's name, password, etc. The values will be either `String` or `char[]` values or `null` (`char[]` may be used for hidden values for security reasons).
      Parameters:
        `authValues` - AuthKey->value map containing connection information
      Returns:
        a live connection object
      Throws:
        `java.io.IOException` - if there was some error, for instance authorization failure