Package net.rubygrapefruit.platform.internal

# Class TerminfoTerminal

java.lang.Object
net.rubygrapefruit.platform.internal.AbstractTerminal
net.rubygrapefruit.platform.internal.TerminfoTerminal

All Implemented Interfaces:
  `Terminal`

public class TerminfoTerminal extends AbstractTerminal

## Nested Class Summary

## Nested classes/interfaces inherited from interface net.rubygrapefruit.platform.Terminal

`Terminal.Color`

## Constructor Summary

Constructors
Constructor
Description
`TerminfoTerminal(Terminals.Output output)`

## Method Summary

Modifier and Type
Method
Description
`Terminal`
`bold()`
Switches the terminal to bold mode, if supported.
`Terminal`
`clearToEndOfLine()`
Clears characters from the cursor position to the end of the current line.
`Terminal`
`cursorDown(int count)`
Moves the cursor the given number of characters down.
`Terminal`
`cursorLeft(int count)`
Moves the cursor the given number of characters to the left.
`Terminal`
`cursorRight(int count)`
Moves the cursor the given number of characters to the right.
`Terminal`
`cursorStartOfLine()`
Moves the cursor to the start of the current line.
`Terminal`
`cursorUp(int count)`
Moves the cursor the given number of characters up.
`Terminal`
`foreground(Terminal.Color color)`
Sets the terminal foreground color, if supported.
`TerminalSize`
`getTerminalSize()`
Returns the size of the terminal.
`protected void`
`init()`
`Terminal`
`normal()`
Switches the terminal to normal mode.
`Terminal`
`reset()`
Switches the terminal to normal mode and restores default colors.
`boolean`
`supportsColor()`
Returns true if this terminal supports setting output colors.
`boolean`
`supportsCursorMotion()`
Returns true if this terminal supports moving the cursor.
`boolean`
`supportsTextAttributes()`
Returns true if this terminal supports setting text attributes, such as bold.
`String`
`toString()`

### Methods inherited from class java.lang.Object

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

## Constructor Details

### TerminfoTerminal

public TerminfoTerminal(Terminals.Output output)

## Method Details

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### init

protected void init()

Specified by:
  `init` in class `AbstractTerminal`

### getTerminalSize

public TerminalSize getTerminalSize()
Description copied from interface: `Terminal`
Returns the size of the terminal. Supported by all terminals.

Returns:
  The current terminal size. Never returns null.

### supportsColor

public boolean supportsColor()
Description copied from interface: `Terminal`
Returns true if this terminal supports setting output colors.

### supportsCursorMotion

public boolean supportsCursorMotion()
Description copied from interface: `Terminal`
Returns true if this terminal supports moving the cursor.

### supportsTextAttributes

public boolean supportsTextAttributes()
Description copied from interface: `Terminal`
Returns true if this terminal supports setting text attributes, such as bold.

### foreground

public Terminal foreground(Terminal.Color color)
Description copied from interface: `Terminal`
Sets the terminal foreground color, if supported. Does nothing if this terminal does not support setting the foreground color.

### bold

public Terminal bold()
Description copied from interface: `Terminal`
Switches the terminal to bold mode, if supported. Does nothing if this terminal does not support bold mode.

### normal

public Terminal normal()
Description copied from interface: `Terminal`
Switches the terminal to normal mode. Supported by all terminals.

### reset

public Terminal reset()
Description copied from interface: `Terminal`
Switches the terminal to normal mode and restores default colors. Supported by all terminals.

### cursorDown

public Terminal cursorDown(int count)
Description copied from interface: `Terminal`
Moves the cursor the given number of characters down.

### cursorUp

public Terminal cursorUp(int count)
Description copied from interface: `Terminal`
Moves the cursor the given number of characters up.

### cursorLeft

public Terminal cursorLeft(int count)
Description copied from interface: `Terminal`
Moves the cursor the given number of characters to the left.

### cursorRight

public Terminal cursorRight(int count)
Description copied from interface: `Terminal`
Moves the cursor the given number of characters to the right.

### cursorStartOfLine

public Terminal cursorStartOfLine() throws NativeException
Description copied from interface: `Terminal`
Moves 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: `Terminal`
Clears characters from the cursor position to the end of the current line.

Throws:
  `NativeException` - On failure, or if this terminal does not support clearing.