/*
 * Copyright 2015 Red Hat, Inc.
 *
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  and Apache License v2.0 which accompanies this distribution.
 *
 *  The Eclipse Public License is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 *
 *  The Apache License v2.0 is available at
 *  http://www.opensource.org/licenses/apache2.0.php
 *
 *  You may elect to redistribute this code under either of these licenses.
 *
 *
 * Copyright (c) 2015 The original author or authors
 * ------------------------------------------------------
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *     The Eclipse Public License is available at
 *     http://www.eclipse.org/legal/epl-v10.html
 *
 *     The Apache License v2.0 is available at
 *     http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 *
 */

package io.vertx.ext.shell.term;

import io.vertx.codegen.annotations.Fluent;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.Handler;
import io.vertx.ext.shell.cli.Completion;
import io.vertx.ext.shell.session.Session;

The terminal.
Author:Julien Viet
/** * The terminal. * * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */
@VertxGen public interface Term extends Tty { @Override Term resizehandler(Handler<Void> handler); @Override Term stdinHandler(Handler<String> handler); @Override Term write(String data);
Returns:the last time this term received input
/** * @return the last time this term received input */
long lastAccessedTime();
Echo some text in the terminal, escaped if necessary.

Params:
  • text – the text to echo
Returns:a reference to this, so the API can be used fluently
/** * Echo some text in the terminal, escaped if necessary.<p/> * * @param text the text to echo * @return a reference to this, so the API can be used fluently */
@Fluent Term echo(String text);
Associate the term with a session.
Params:
  • session – the session to set
Returns:a reference to this, so the API can be used fluently
/** * Associate the term with a session. * * @param session the session to set * @return a reference to this, so the API can be used fluently */
Term setSession(Session session);
Set an interrupt signal handler on the term.
Params:
  • handler – the interrupt handler
Returns:a reference to this, so the API can be used fluently
/** * Set an interrupt signal handler on the term. * * @param handler the interrupt handler * @return a reference to this, so the API can be used fluently */
@Fluent Term interruptHandler(SignalHandler handler);
Set a suspend signal handler on the term.
Params:
  • handler – the suspend handler
Returns:a reference to this, so the API can be used fluently
/** * Set a suspend signal handler on the term. * * @param handler the suspend handler * @return a reference to this, so the API can be used fluently */
@Fluent Term suspendHandler(SignalHandler handler);
Prompt the user a line of text.
Params:
  • prompt – the displayed prompt
  • lineHandler – the line handler called with the line
/** * Prompt the user a line of text. * * @param prompt the displayed prompt * @param lineHandler the line handler called with the line */
void readline(String prompt, Handler<String> lineHandler);
Prompt the user a line of text, providing a completion handler to handle user's completion.
Params:
  • prompt – the displayed prompt
  • lineHandler – the line handler called with the line
  • completionHandler – the completion handler
/** * Prompt the user a line of text, providing a completion handler to handle user's completion. * * @param prompt the displayed prompt * @param lineHandler the line handler called with the line * @param completionHandler the completion handler */
void readline(String prompt, Handler<String> lineHandler, Handler<Completion> completionHandler);
Set a handler that will be called when the terminal is closed.
Params:
  • handler – the handler
Returns:a reference to this, so the API can be used fluently
/** * Set a handler that will be called when the terminal is closed. * * @param handler the handler * @return a reference to this, so the API can be used fluently */
@Fluent Term closeHandler(Handler<Void> handler);
Close the connection to terminal.
/** * Close the connection to terminal. */
void close(); }