Package com.io7m.idstore.shell.admin.internal

# Class IdAShellCmdAbstractCR<C extends IdACommandType<R>,R extends IdAResponseType>

java.lang.Object
com.io7m.idstore.shell.admin.internal.IdAShellCmdAbstract
com.io7m.idstore.shell.admin.internal.IdAShellCmdAbstractCR<C,R>

Type Parameters:
  `C` - The command type
  `R` - The response type

All Implemented Interfaces:
  `IdAShellCmdType`, `com.io7m.quarrel.core.QCommandOrGroupType`, `com.io7m.quarrel.core.QCommandType`

Direct Known Subclasses:
  `IdAShellCmdAdminBanCreate`, `IdAShellCmdAdminBanDelete`, `IdAShellCmdAdminBanGet`, `IdAShellCmdAdminCreate`, `IdAShellCmdAdminEmailAdd`, `IdAShellCmdAdminEmailRemove`, `IdAShellCmdAdminGet`, `IdAShellCmdAdminGetByEmail`, `IdAShellCmdAdminMaintenanceModeSet`, `IdAShellCmdAdminSearchBegin`, `IdAShellCmdAdminSearchByEmailBegin`, `IdAShellCmdAdminSearchByEmailNext`, `IdAShellCmdAdminSearchByEmailPrevious`, `IdAShellCmdAdminSearchNext`, `IdAShellCmdAdminSearchPrevious`, `IdAShellCmdAdminUpdatePasswordExpiration`, `IdAShellCmdAuditSearchBegin`, `IdAShellCmdAuditSearchNext`, `IdAShellCmdAuditSearchPrevious`, `IdAShellCmdMailTest`, `IdAShellCmdSelf`, `IdAShellCmdUserBanCreate`, `IdAShellCmdUserBanDelete`, `IdAShellCmdUserBanGet`, `IdAShellCmdUserCreate`, `IdAShellCmdUserEmailAdd`, `IdAShellCmdUserEmailRemove`, `IdAShellCmdUserGet`, `IdAShellCmdUserGetByEmail`, `IdAShellCmdUserLoginHistory`, `IdAShellCmdUserSearchBegin`, `IdAShellCmdUserSearchByEmailBegin`, `IdAShellCmdUserSearchByEmailNext`, `IdAShellCmdUserSearchByEmailPrevious`, `IdAShellCmdUserSearchNext`, `IdAShellCmdUserSearchPrevious`, `IdAShellCmdUserUpdatePasswordExpiration`

public abstract class IdAShellCmdAbstractCR<C extends IdACommandType<R>,R extends IdAResponseType> extends IdAShellCmdAbstract
The abstract command implementation.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `IdAShellCmdAbstractCR(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata, Class<C> inCommandClass, Class<R> inResponseClass)`
  The abstract command implementation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract C`
  `onCreateCommand(com.io7m.quarrel.core.QCommandContextType context)`
  `final com.io7m.quarrel.core.QCommandStatus`
  `onExecute(com.io7m.quarrel.core.QCommandContextType context)`
  `protected abstract void`
  `onFormatResponse(com.io7m.quarrel.core.QCommandContextType context, R response)`

  ### Methods inherited from class com.io7m.idstore.shell.admin.internal.IdAShellCmdAbstract

  `client, completer, formatter, metadata, options, services, terminal, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.io7m.quarrel.core.QCommandOrGroupType

  `isHidden`

  ### Methods inherited from interface com.io7m.quarrel.core.QCommandType

  `onListNamedParameters, onListPositionalParameters`

- ## Constructor Details

  - ### IdAShellCmdAbstractCR

    protected IdAShellCmdAbstractCR(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata, Class<C> inCommandClass, Class<R> inResponseClass)
    The abstract command implementation.
    Parameters:
      `inServices` - The services
      `inMetadata` - The command metadata
      `inCommandClass` - The command type
      `inResponseClass` - The response type

- ## Method Details

  - ### onCreateCommand

    protected abstract C onCreateCommand(com.io7m.quarrel.core.QCommandContextType context) throws Exception
    Throws:
      `Exception`

  - ### onFormatResponse

    protected abstract void onFormatResponse(com.io7m.quarrel.core.QCommandContextType context, R response) throws Exception
    Throws:
      `Exception`

  - ### onExecute

    public final com.io7m.quarrel.core.QCommandStatus onExecute(com.io7m.quarrel.core.QCommandContextType context) throws Exception
    Throws:
      `Exception`