Package jexer.backend
Class GenericBackend
- java.lang.Object
-
- jexer.backend.GenericBackend
-
- All Implemented Interfaces:
Backend
- Direct Known Subclasses:
ECMA48Backend
,SwingBackend
public abstract class GenericBackend extends java.lang.Object implements Backend
This abstract class provides a screen, keyboard, and mouse to TApplication. It also exposes session information as gleaned from lower levels of the communication stack.
-
-
Field Summary
Fields Modifier and Type Field Description protected long
lastUserInputTime
The last time user input (mouse or keyboard) was received.protected boolean
readOnly
Whether or not this backend is read-only.protected Screen
screen
The screen to draw on.protected SessionInfo
sessionInfo
The session information.protected TerminalReader
terminal
Input events are processed by this Terminal.
-
Constructor Summary
Constructors Constructor Description GenericBackend()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
flushScreen()
Sync the logical screen to the physical device.void
getEvents(java.util.List<TInputEvent> queue)
Get keyboard, mouse, and screen resize events.Screen
getScreen()
Getter for screen.SessionInfo
getSessionInfo()
Getter for sessionInfo.boolean
hasEvents()
Check if there are events in the queue.boolean
isReadOnly()
Check if backend is read-only.void
reloadOptions()
Reload backend options from System properties.void
setListener(java.lang.Object listener)
Set listener to a different Object.void
setReadOnly(boolean readOnly)
Set read-only flag.void
setTitle(java.lang.String title)
Set the window title.void
shutdown()
Close the I/O, restore the console, etc.
-
-
-
Field Detail
-
sessionInfo
protected SessionInfo sessionInfo
The session information.
-
screen
protected Screen screen
The screen to draw on.
-
terminal
protected TerminalReader terminal
Input events are processed by this Terminal.
-
lastUserInputTime
protected long lastUserInputTime
The last time user input (mouse or keyboard) was received.
-
readOnly
protected boolean readOnly
Whether or not this backend is read-only.
-
-
Method Detail
-
getSessionInfo
public final SessionInfo getSessionInfo()
Getter for sessionInfo.- Specified by:
getSessionInfo
in interfaceBackend
- Returns:
- the SessionInfo
-
getScreen
public final Screen getScreen()
Getter for screen.
-
flushScreen
public void flushScreen()
Sync the logical screen to the physical device.- Specified by:
flushScreen
in interfaceBackend
-
hasEvents
public boolean hasEvents()
Check if there are events in the queue.
-
getEvents
public void getEvents(java.util.List<TInputEvent> queue)
Get keyboard, mouse, and screen resize events.
-
shutdown
public void shutdown()
Close the I/O, restore the console, etc.
-
setTitle
public void setTitle(java.lang.String title)
Set the window title.
-
setListener
public void setListener(java.lang.Object listener)
Set listener to a different Object.- Specified by:
setListener
in interfaceBackend
- Parameters:
listener
- the new listening object that run() wakes up on new input
-
reloadOptions
public void reloadOptions()
Reload backend options from System properties.- Specified by:
reloadOptions
in interfaceBackend
-
isReadOnly
public boolean isReadOnly()
Check if backend is read-only.- Specified by:
isReadOnly
in interfaceBackend
- Returns:
- true if user input events from the backend are discarded
-
setReadOnly
public void setReadOnly(boolean readOnly)
Set read-only flag.- Specified by:
setReadOnly
in interfaceBackend
- Parameters:
readOnly
- if true, then input events will be discarded
-
-