Class TerminalAuthenticator

java.lang.Object
uk.ac.starlink.table.jdbc.TerminalAuthenticator
All Implemented Interfaces:
JDBCAuthenticator

public class TerminalAuthenticator extends Object implements JDBCAuthenticator
Provides JDBC authentication using the terminal; assumes that someone is sitting at System.in.
  • Constructor Details

    • TerminalAuthenticator

      public TerminalAuthenticator(PrintStream promptStrm)
      Constructs a new authenticator with a given stream to use for writing prompts.
      Parameters:
      promptStrm - output stream for prompting
    • TerminalAuthenticator

      public TerminalAuthenticator()
      Constructs a new authenticator which uses System.err for prompting.
  • Method Details

    • authenticate

      public String[] authenticate() throws IOException
      Description copied from interface: JDBCAuthenticator
      Obtains username and password. The return value is a two-element array containing the username and password to be used, in that order. Either or both of these may be null.
      Specified by:
      authenticate in interface JDBCAuthenticator
      Returns:
      String[]{username,password}
      Throws:
      IOException - if there is some error
    • readUser

      public String readUser() throws IOException
      Prompts to the prompt stream and reads the user name from standard input.
      Returns:
      user name obtained from user
      Throws:
      IOException
    • readPassword

      public String readPassword() throws IOException
      Prompts to the prompt stream and reads the password from standard input.
      Returns:
      password obtained from user
      Throws:
      IOException