Console (Jython API documentation)
Date: 2024-08-18

org.python.core

## Interface Console

- All Known Implementing Classes:
    JLineConsole, PlainConsole

      public interface Console

  A class named in configuration as the value of `python.console` must implement this interface, and provide a constructor with a single `String` argument, to be acceptable during initialization of the interpreter. The argument to the constructor names the encoding in use on the console. Such a class may provide line editing and history recall to an interactive console. A default implementation (that does not provide any such facilities) is available as `PlainConsole`.
  See Also:
    `RegistryKey.PYTHON_CONSOLE`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getEncoding()` Name of the encoding, normally supplied during initialisation, and used for line input.
    `java.nio.charset.Charset` | `getEncodingCharset()` Accessor for encoding to use for line input as a `Charset`.
    `void` | `install()` Complete initialization and (optionally) install a stream object with line-editing as the replacement for `System.in`.
    `void` | `uninstall()` Uninstall the Console (if possible).

- - ### Method Detail

    - #### install

          void install()
                throws java.io.IOException

      Complete initialization and (optionally) install a stream object with line-editing as the replacement for `System.in`.
      Throws:
        `java.io.IOException` - in case of failure related to i/o

    - #### uninstall

          void uninstall()
                  throws java.lang.UnsupportedOperationException

      Uninstall the Console (if possible). A Console that installs a replacement for `System.in` should put back the original value.
      Throws:
        `java.lang.UnsupportedOperationException` - if the Console cannot be uninstalled

    - #### getEncoding

          java.lang.String getEncoding()

      Name of the encoding, normally supplied during initialisation, and used for line input. This may not be the cononoical name of the codec returned by `getEncodingCharset()`.
      Returns:
        name of the encoding in use.

    - #### getEncodingCharset

          java.nio.charset.Charset getEncodingCharset()

      Accessor for encoding to use for line input as a `Charset`.
      Returns:
        Charset of the encoding in use.

Jython homepage