Interface CommandRegistry

    • Method Detail

      • aggregateCompleters

        static SystemCompleter aggregateCompleters​(CommandRegistry... commandRegistries)
        Aggregates SystemCompleters from multiple command registries into a single completer.

        This method combines the completers from all provided command registries without compiling them. The resulting completer can be used for tab completion across all commands from the provided registries.

        Parameters:
        commandRegistries - the command registries whose completers are to be aggregated
        Returns:
        an uncompiled SystemCompleter containing all completers from the provided registries
      • compileCompleters

        static SystemCompleter compileCompleters​(CommandRegistry... commandRegistries)
        Aggregates and compiles SystemCompleters from multiple command registries into a single completer.

        This method combines the completers from all provided command registries and compiles them into a single completer. The resulting completer can be used for tab completion across all commands from the provided registries.

        Parameters:
        commandRegistries - the command registries whose completers are to be aggregated and compiled
        Returns:
        a compiled SystemCompleter containing all completers from the provided registries
      • createCandidate

        static Candidate createCandidate​(CommandRegistry[] commandRegistries,
                                         java.lang.String command)
        Creates a completion candidate for the specified command.

        This method searches for the command in the provided registries and creates a completion candidate with the command's name, group, and description.

        Parameters:
        commandRegistries - the command registries to search for the command
        command - the command name
        Returns:
        a completion candidate for the command
      • name

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

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

        java.util.Map<java.lang.String,​java.lang.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

        java.util.List<java.lang.String> commandInfo​(java.lang.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​(java.lang.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​(java.util.List<java.lang.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 java.lang.Object invoke​(CommandRegistry.CommandSession session,
                                        java.lang.String command,
                                        java.lang.Object... args)
                                 throws java.lang.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:
        java.lang.Exception - in case of error