Interface TerminalProvider

All Known Implementing Classes:
DumbTerminalProvider, ExecTerminalProvider, JniTerminalProvider

public interface TerminalProvider
Service provider interface for terminal implementations.

The TerminalProvider interface defines the contract for classes that can create and manage terminal instances on specific platforms. Each provider implements platform-specific terminal functionality, allowing JLine to work across different operating systems and environments.

JLine includes several built-in terminal providers:

  • FFM - Foreign Function Memory (Java 22+) based implementation
  • JNI - Java Native Interface based implementation
  • Jansi - Implementation based on the Jansi library
  • JNA - Java Native Access based implementation
  • Exec - Implementation using external commands
  • Dumb - Fallback implementation with limited capabilities

Terminal providers are loaded dynamically using the load(String) method, which looks up provider implementations in the classpath based on their name.

See Also: