package org.gnu.readline;

import java.io.*;
import java.util.*;

public class Readline {

  [...]

  public static final void load(ReadlineLibrary lib) throws UnsatisfiedLinkError {
    [...]
    System.loadLibrary(lib.getName()); // might throw UnsatisfiedLinkError
  }

  [...]

  public static String readline(String prompt, boolean addToHist)
               throws EOFException, IOException, UnsupportedEncodingException {
    [...]
    String line = readlineImpl(prompt);
    if ((line != null) && (addToHist)) {
      addToHistory(line);
    }
    return line;
  }

  public static void addToHistory(String line) {
    [...]
    addToHistoryImpl(line);
  }

  [...]

  private native static String readlineImpl(String prompt)
                       throws EOFException, UnsupportedEncodingException;

  private native static void addToHistoryImpl(String line);

  [...]
}