Class JniUnixSysTerminal

java.lang.Object
org.jline.terminal.impl.AbstractTerminal
org.jline.terminal.impl.AbstractUnixSysTerminal
org.jline.terminal.impl.jni.JniUnixSysTerminal
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, org.jline.terminal.Sized, org.jline.terminal.spi.TerminalExt, org.jline.terminal.Terminal

public class JniUnixSysTerminal extends org.jline.terminal.impl.AbstractUnixSysTerminal
JNI-based POSIX system terminal that calls CLibrary directly.

This implementation bypasses the PTY abstraction layer, reducing the call chain from 7 layers to 4:

   Terminal ? AbstractTerminal ? AbstractUnixSysTerminal ? JniUnixSysTerminal ? CLibrary ? syscall
 

A TermiosMapping instance handles platform-specific Termios ? Attributes conversions.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.jline.terminal.Terminal

    org.jline.terminal.Terminal.MouseTracking, org.jline.terminal.Terminal.Signal, org.jline.terminal.Terminal.SignalHandler
  • Field Summary

    Fields inherited from class org.jline.terminal.impl.AbstractUnixSysTerminal

    STDERR_FD, STDIN_FD, STDOUT_FD

    Fields inherited from class org.jline.terminal.impl.AbstractTerminal

    bools, closed, currentMouseTracking, encoding, handlers, inputEncoding, ints, name, onClose, outputEncoding, palette, status, strings, type

    Fields inherited from interface org.jline.terminal.Terminal

    TYPE_DUMB, TYPE_DUMB_COLOR
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.jline.terminal.Attributes
     
    protected org.jline.terminal.Size
     
    protected void
    doSetAttributes(org.jline.terminal.Attributes attr)
     
    protected void
    doSetSize(org.jline.terminal.Sized size)
     

    Methods inherited from class org.jline.terminal.impl.AbstractUnixSysTerminal

    doClose, getAttributes, getCursorPosition, getDefaultBackgroundColor, getDefaultForegroundColor, getProvider, getSize, getSystemStream, handle, input, output, reader, setAttributes, setSize, toString, writer

    Methods inherited from class org.jline.terminal.impl.AbstractTerminal

    canPauseResume, checkClosed, checkInterrupted, close, detectTrueColorSupport, echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getCurrentMouseTracking, getGraphemeClusterMode, getKind, getName, getNumericCapability, getPalette, getStatus, getStatus, getStringCapability, getType, hasFocusSupport, hasMouseSupport, inputEncoding, isClusterGrouped, outputEncoding, parseInfoCmp, pause, pause, paused, puts, raise, readMouseEvent, readMouseEvent, readMouseEvent, readMouseEvent, resume, setGraphemeClusterMode, setOnClose, supportsGraphemeClusterMode, trackFocus, trackMouse

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.jline.terminal.Terminal

    getBufferSize, getColumns, getHeight, getRows, getWidth, setSize
  • Method Details

    • doGetAttributes

      protected org.jline.terminal.Attributes doGetAttributes()
      Specified by:
      doGetAttributes in class org.jline.terminal.impl.AbstractUnixSysTerminal
    • doSetAttributes

      protected void doSetAttributes(org.jline.terminal.Attributes attr)
      Specified by:
      doSetAttributes in class org.jline.terminal.impl.AbstractUnixSysTerminal
    • doGetSize

      protected org.jline.terminal.Size doGetSize()
      Specified by:
      doGetSize in class org.jline.terminal.impl.AbstractUnixSysTerminal
    • doSetSize

      protected void doSetSize(org.jline.terminal.Sized size)
      Specified by:
      doSetSize in class org.jline.terminal.impl.AbstractUnixSysTerminal