Class ReadlineReader

java.lang.Object
java.io.Reader
org.gnu.readline.ReadlineReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable

public class ReadlineReader extends Reader
A Reader wrapper for the Readline classes. This seems to work fine in conjunction with such classes as BufferedReader, but it hasn't been tested well enough to see if this will work well in all cases. This was implemented to make it easier to supplant Readline's functionality [shrug] anywhere and everywhere, but specifically in BeanShell.
Version:
$Revision$
Author:
Shane Celis <shane@terrapsring.com>
  • Field Details

  • Constructor Details

    • ReadlineReader

      public ReadlineReader(String prompt, ReadlineLibrary lib)
      Constructs a ReadlineReader object with the given prompt.
    • ReadlineReader

      public ReadlineReader(ReadlineLibrary lib)
      Constructs a ReadlineReader object with the default prompt.
    • ReadlineReader

      public ReadlineReader(File history, ReadlineLibrary lib) throws IOException
      Constructs a ReadlineReader object with an associated history file.
      Throws:
      IOException
    • ReadlineReader

      public ReadlineReader(String prompt, File history, ReadlineLibrary lib) throws IOException
      Constructs a ReadlineReader object with an associated history file and prompt.
      Throws:
      IOException
  • Method Details

    • getPrompt

      public String getPrompt()
      Returns the current prompt.
    • setPrompt

      public void setPrompt(String prompt)
      Sets the prompt to the given value.
    • read

      public int read(char[] cbuf, int off, int len) throws IOException
      Reads what's given from readline() into a buffer. When that buffer is emptied, readline() is called again to replenish that buffer. This seems to work fine in conjunction with such classes as BufferedReader, but it hasn't been tested well enough to see if this will work well in all cases.
      Specified by:
      read in class Reader
      Throws:
      IOException
    • close

      public void close() throws IOException
      Nullifies all buffers and writes history file if one was given at construction time.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Reader
      Throws:
      IOException
    • main

      public static void main(String[] args) throws Exception
      Throws:
      Exception