Class WrapperTerminal
- java.lang.Object
-
- net.rubygrapefruit.platform.internal.AbstractTerminal
-
- net.rubygrapefruit.platform.internal.WrapperTerminal
-
- All Implemented Interfaces:
Terminal
public class WrapperTerminal extends AbstractTerminal
ATerminalimplementation that wraps another to add thread safety.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.rubygrapefruit.platform.Terminal
Terminal.Color
-
-
Constructor Summary
Constructors Constructor Description WrapperTerminal(java.io.PrintStream stream, AbstractTerminal terminal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Terminalbold()Switches the terminal to bold mode, if supported.TerminalclearToEndOfLine()Clears characters from the cursor position to the end of the current line.TerminalcursorDown(int count)Moves the cursor the given number of characters down.TerminalcursorLeft(int count)Moves the cursor the given number of characters to the left.TerminalcursorRight(int count)Moves the cursor the given number of characters to the right.TerminalcursorStartOfLine()Moves the cursor to the start of the current line.TerminalcursorUp(int count)Moves the cursor the given number of characters up.Terminalforeground(Terminal.Color color)Sets the terminal foreground color, if supported.TerminalSizegetTerminalSize()Returns the size of the terminal.protected voidinit()Terminalnormal()Switches the terminal to normal mode.Terminalreset()Switches the terminal to normal mode and restores default colors.booleansupportsColor()Returns true if this terminal supports setting output colors.booleansupportsCursorMotion()Returns true if this terminal supports moving the cursor.booleansupportsTextAttributes()Returns true if this terminal supports setting text attributes, such as bold.java.lang.StringtoString()
-
-
-
Constructor Detail
-
WrapperTerminal
public WrapperTerminal(java.io.PrintStream stream, AbstractTerminal terminal)
-
-
Method Detail
-
init
protected void init()
- Specified by:
initin classAbstractTerminal
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getTerminalSize
public TerminalSize getTerminalSize() throws NativeException
Description copied from interface:TerminalReturns the size of the terminal. Supported by all terminals.- Returns:
- The current terminal size. Never returns null.
- Throws:
NativeException- On failure.
-
supportsColor
public boolean supportsColor()
Description copied from interface:TerminalReturns true if this terminal supports setting output colors.
-
supportsCursorMotion
public boolean supportsCursorMotion()
Description copied from interface:TerminalReturns true if this terminal supports moving the cursor.
-
supportsTextAttributes
public boolean supportsTextAttributes()
Description copied from interface:TerminalReturns true if this terminal supports setting text attributes, such as bold.
-
normal
public Terminal normal() throws NativeException
Description copied from interface:TerminalSwitches the terminal to normal mode. Supported by all terminals.- Throws:
NativeException- On failure.
-
bold
public Terminal bold() throws NativeException
Description copied from interface:TerminalSwitches the terminal to bold mode, if supported. Does nothing if this terminal does not support bold mode.- Throws:
NativeException- On failure.
-
reset
public Terminal reset() throws NativeException
Description copied from interface:TerminalSwitches the terminal to normal mode and restores default colors. Supported by all terminals.- Throws:
NativeException- On failure.
-
foreground
public Terminal foreground(Terminal.Color color) throws NativeException
Description copied from interface:TerminalSets the terminal foreground color, if supported. Does nothing if this terminal does not support setting the foreground color.- Throws:
NativeException- On failure.
-
cursorLeft
public Terminal cursorLeft(int count) throws NativeException
Description copied from interface:TerminalMoves the cursor the given number of characters to the left.- Throws:
NativeException- On failure, or if this terminal does not support cursor motion.
-
cursorRight
public Terminal cursorRight(int count) throws NativeException
Description copied from interface:TerminalMoves the cursor the given number of characters to the right.- Throws:
NativeException- On failure, or if this terminal does not support cursor motion.
-
cursorUp
public Terminal cursorUp(int count) throws NativeException
Description copied from interface:TerminalMoves the cursor the given number of characters up.- Throws:
NativeException- On failure, or if this terminal does not support cursor motion.
-
cursorDown
public Terminal cursorDown(int count) throws NativeException
Description copied from interface:TerminalMoves the cursor the given number of characters down.- Throws:
NativeException- On failure, or if this terminal does not support cursor motion.
-
cursorStartOfLine
public Terminal cursorStartOfLine() throws NativeException
Description copied from interface:TerminalMoves the cursor to the start of the current line.- Throws:
NativeException- On failure, or if this terminal does not support cursor motion.
-
clearToEndOfLine
public Terminal clearToEndOfLine() throws NativeException
Description copied from interface:TerminalClears characters from the cursor position to the end of the current line.- Throws:
NativeException- On failure, or if this terminal does not support clearing.
-
-