/* * This file is part of lanterna (http://code.google.com/p/lanterna/). * * lanterna is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Copyright (C) 2010-2017 Martin Berglund */ package com.googlecode.lanterna.terminal; import com.googlecode.lanterna.SGR; import com.googlecode.lanterna.TerminalPosition; import com.googlecode.lanterna.TerminalSize; import com.googlecode.lanterna.TextColor; import com.googlecode.lanterna.input.KeyStroke; import java.util.concurrent.TimeUnit; /** * Interface extending Terminal that removes the IOException throw clause. You can for example use this instead of * Terminal if you use an implementation that doesn't throw any IOExceptions or if you wrap your terminal in an * IOSafeTerminalAdapter. Please note that readInput() still throws IOException when it is interrupted, in order to fit * better in with what normal terminal do when they are blocked on input and you interrupt them. * @author Martin */ public interface IOSafeTerminal extends Terminal { @Override void enterPrivateMode(); @Override void exitPrivateMode(); @Override void clearScreen(); @Override void setCursorPosition(int x, int y); @Override void setCursorPosition(TerminalPosition position); @Override TerminalPosition getCursorPosition(); @Override void setCursorVisible(boolean visible); @Override void putCharacter(char c); @Override void enableSGR(SGR sgr); @Override void disableSGR(SGR sgr); @Override void resetColorAndSGR(); @Override void setForegroundColor(TextColor color); @Override void setBackgroundColor(TextColor color); @Override TerminalSize getTerminalSize(); @Override byte[] enquireTerminal(int timeout, TimeUnit timeoutUnit); @Override void bell(); @Override void flush(); @Override KeyStroke pollInput(); @Override KeyStroke readInput(); @Override void close(); }