Interface ShellServer


public interface ShellServer
The shell server.

A shell server is associated with a collection of term servers: the registerTermServer(TermServer) method registers a term server. Term servers life cycle are managed by this server.

When a term server receives an incoming connection, a JobController instance is created and associated with this connection.

The createShell() method can be used to create JobController instance for testing purposes.

Author:
Julien Viet
  • Method Details

    • create

      static ShellServer create(Vertx vertx, ShellServerOptions options)
      Create a new shell server with default options.
      Parameters:
      vertx - the vertx
      options - the options
      Returns:
      the created shell server
    • create

      static ShellServer create(Vertx vertx)
      Create a new shell server with specific options.
      Parameters:
      vertx - the vertx
      Returns:
      the created shell server
    • registerCommandResolver

      ShellServer registerCommandResolver(CommandResolver resolver)
      Register a command resolver for this server.
      Parameters:
      resolver - the resolver
      Returns:
      a reference to this, so the API can be used fluently
    • registerTermServer

      ShellServer registerTermServer(TermServer termServer)
      Register a term server to this shell server, the term server lifecycle methods are managed by this shell server.
      Parameters:
      termServer - the term server to add
      Returns:
      a reference to this, so the API can be used fluently
    • createShell

      Shell createShell(Term term)
      Create a new shell, the returned shell should be closed explicitely.
      Parameters:
      term - the shell associated terminal
      Returns:
      the created shell
    • createShell

      Shell createShell()
      Create a new shell, the returned shell should be closed explicitely.
      Returns:
      the created shell
    • listen

      Future<Void> listen()
      Start the shell service, this is an asynchronous start.
    • close

      Future<Void> close()
      Close the shell server, this is an asynchronous close.
    • shellHandler

      void shellHandler(Handler<Shell> shellHandler)
      Called when a new shell is created. Can be used to prepopulate the shell session with objects or set the prompt.
      Parameters:
      shellHandler - handler for getting notified when the server creates a new shell.