Interface CommandRunner<T extends Job>


@Contract public interface CommandRunner<T extends Job>
CommandRunner is a service that allows you to run administrative commands.
Author:
Jerome Dochez
  • Method Details

    • getActionReport

      ActionReport getActionReport(String name)
      Returns an initialized ActionReport instance for the passed type or null if it cannot be found.
      Parameters:
      name - actiopn report type name
      Returns:
      uninitialized action report or null
    • getModel

      CommandModel getModel(String name)
      Returns the command model for a command name for the null scope
      Parameters:
      name - command name
      Returns:
      model for this command (list of parameters,etc...), null if command is not found
    • getModel

      CommandModel getModel(String scope, String name)
      Returns the command model for a command name
      Parameters:
      scope - the scope (or namespace) for the command
      name - command name
      Returns:
      model for this command (list of parameters,etc...), null if command is not found
    • getHelp

      BufferedReader getHelp(CommandModel model)
      Returns manpage for the command.
      Parameters:
      model - of command
      Returns:
      Formated manpage
    • validateCommandModelETag

      boolean validateCommandModelETag(AdminCommand command, String eTag)
      Checks if given command model eTag is equal to current command model eTag
      Parameters:
      command - Command to be checked
      eTag - ETag to validate
    • validateCommandModelETag

      boolean validateCommandModelETag(CommandModel model, String eTag)
      Checks if given command model eTag is equal to current command model eTag
      Parameters:
      model - of command to be checked
      eTag - ETag to validate
    • getCommand

      AdminCommand getCommand(String commandName, ActionReport report)
      Obtain and return the command implementation defined by the passed commandName for the null scope
      Parameters:
      commandName - command name as typed by users
      report - report used to communicate command status back to the user
      Returns:
      command registered under commandName or null if not found.
    • getCommand

      AdminCommand getCommand(String scope, String commandName, ActionReport report)
      Obtain and return the command implementation defined by the passed commandName
      Parameters:
      scope - the scope (or namespace) for the command
      commandName - command name as typed by users
      report - report used to communicate command status back to the user
      Returns:
      command registered under commandName or null if not found.
    • getCommandInvocation

      default CommandInvocation<T> getCommandInvocation(String commandName, ActionReport report, Subject subject)
      Obtain a new command invocation object. Calls getCommandInvocation(String, String, ActionReport, Subject, boolean, boolean) with null scope, false notify and false detach.
      Parameters:
      commandName - name of the requested command to invoke
      report - where to place the status of the command execution
      subject - the Subject under which to execute the command
      Returns:
      a new command invocation for that command name.
    • getCommandInvocation

      CommandInvocation<T> getCommandInvocation(String scope, String commandName, ActionReport report, Subject subject, boolean notify, boolean detach)
      Obtain a new command invocation object.
      Parameters:
      scope - the scope (or namespace) for the command
      commandName - name of the requested command to invoke
      report - where to place the status of the command execution
      subject - the Subject under which to execute the command
      notify - should notification be enabled
      detach - true if the command was executed as detached
      Returns:
      a new command invocation for that command name.
    • doCommand

      void doCommand(CommandInvocation<T> ctx, AdminCommand command, Subject subject, T job)