Package jline

Class Terminal

    • Method Detail

      • resetTerminal

        public static void resetTerminal()
        Reset the current terminal to null.
      • setupTerminal

        public static Terminal setupTerminal()

        Configure and return the Terminal instance for the current platform. This will initialize any system settings that are required for the console to be able to handle input correctly, such as setting tabtop, buffered input, and character echo.

        This class will use the Terminal implementation specified in the jline.terminal system property, or, if it is unset, by detecting the operating system from the os.name system property and instantiating either the WindowsTerminalTest or UnixTerminal.

        See Also:
        initializeTerminal()
      • isANSISupported

        public boolean isANSISupported()
        Returns true if the current console supports ANSI codes.
      • readCharacter

        public int readCharacter​(java.io.InputStream in)
                          throws java.io.IOException
        Read a single character from the input stream. This might enable a terminal implementation to better handle nuances of the console.
        Throws:
        java.io.IOException
      • readVirtualKey

        public int readVirtualKey​(java.io.InputStream in)
                           throws java.io.IOException
        Reads a virtual key from the console. Typically, this will just be the raw character that was entered, but in some cases, multiple input keys will need to be translated into a single virtual key.
        Parameters:
        in - the InputStream to read from
        Returns:
        the virtual key (e.g., ConsoleOperations#VK_UP)
        Throws:
        java.io.IOException
      • initializeTerminal

        public abstract void initializeTerminal()
                                         throws java.lang.Exception
        Initialize any system settings that are required for the console to be able to handle input correctly, such as setting tabtop, buffered input, and character echo.
        Throws:
        java.lang.Exception
      • getTerminalWidth

        public abstract int getTerminalWidth()
        Returns the current width of the terminal (in characters)
      • getTerminalHeight

        public abstract int getTerminalHeight()
        Returns the current height of the terminal (in lines)
      • isSupported

        public abstract boolean isSupported()
        Returns true if this terminal is capable of initializing the terminal to use jline.
      • getEcho

        public abstract boolean getEcho()
        Returns true if the terminal will echo all characters type.
      • beforeReadLine

        public void beforeReadLine​(ConsoleReader reader,
                                   java.lang.String prompt,
                                   java.lang.Character mask)
        Invokes before the console reads a line with the prompt and mask.
      • afterReadLine

        public void afterReadLine​(ConsoleReader reader,
                                  java.lang.String prompt,
                                  java.lang.Character mask)
        Invokes after the console reads a line with the prompt and mask.
      • isEchoEnabled

        public abstract boolean isEchoEnabled()
        Returns false if character echoing is disabled.
      • enableEcho

        public abstract void enableEcho()
        Enable character echoing. This can be used to re-enable character if the ConsoleReader is no longer being used.
      • disableEcho

        public abstract void disableEcho()
        Disable character echoing. This can be used to manually re-enable character if the ConsoleReader has been disabled.