Interface CommandRegistry

All Known Subinterfaces:
ConsoleEngine, SystemRegistry
All Known Implementing Classes:
AbstractCommandRegistry, Builtins, ConsoleEngineImpl, DefaultPrinter, JlineCommandRegistry, SystemRegistryImpl

public interface CommandRegistry
Store command information, compile tab completers and execute registered commands.
Author:
Matti Rinta-Nikkola
  • Method Details

    • aggregateCompleters

      static SystemCompleter aggregateCompleters(CommandRegistry... commandRegistries)
      Aggregate SystemCompleters of commandRegisteries
      Parameters:
      commandRegistries - command registeries which completers is to be aggregated
      Returns:
      uncompiled SystemCompleter
    • compileCompleters

      static SystemCompleter compileCompleters(CommandRegistry... commandRegistries)
      Aggregate and compile SystemCompleters of commandRegisteries
      Parameters:
      commandRegistries - command registeries which completers is to be aggregated and compile
      Returns:
      compiled SystemCompleter
    • name

      default String name()
      Returns the name of this registry.
      Returns:
      the name of the registry
    • commandNames

      Set<String> commandNames()
      Returns the command names known by this registry.
      Returns:
      the set of known command names, excluding aliases
    • commandAliases

      Map<String,String> commandAliases()
      Returns a map of alias-to-command names known by this registry.
      Returns:
      a map with alias keys and command name values
    • commandInfo

      List<String> commandInfo(String command)
      Returns a short info about command known by this registry.
      Parameters:
      command - the command name
      Returns:
      a short info about command
    • hasCommand

      boolean hasCommand(String command)
      Returns whether a command with the specified name is known to this registry.
      Parameters:
      command - the command name to test
      Returns:
      true if the specified command is registered
    • compileCompleters

      SystemCompleter compileCompleters()
      Returns a SystemCompleter that can provide detailed completion information for all registered commands.
      Returns:
      a SystemCompleter that can provide command completion for all registered commands
    • commandDescription

      CmdDesc commandDescription(List<String> args)
      Returns a command description for use in the JLine Widgets framework. Default method must be overridden to return sub command descriptions.
      Parameters:
      args - command (args[0]) and its arguments
      Returns:
      command description for JLine TailTipWidgets to be displayed in the terminal status bar.
    • invoke

      default Object invoke(CommandRegistry.CommandSession session, String command, Object... args) throws Exception
      Execute a command.
      Parameters:
      session - the data of the current command session
      command - the name of the command
      args - arguments of the command
      Returns:
      result of the command execution
      Throws:
      Exception - in case of error