# Class CAShellCmdAbstractCR<C extends CAICommandType<R>,R extends CAIResponseType>

java.lang.Object
com.io7m.cardant.shell.internal.CAShellCmdAbstract
com.io7m.cardant.shell.internal.CAShellCmdAbstractCR<C,R>

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

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

Direct Known Subclasses:
  `CAShellCmdAuditSearchBegin`, `CAShellCmdAuditSearchNext`, `CAShellCmdAuditSearchPrevious`, `CAShellCmdFileSearchBegin`, `CAShellCmdFileSearchNext`, `CAShellCmdFileSearchPrevious`, `CAShellCmdItemAttachmentAdd`, `CAShellCmdItemAttachmentRemove`, `CAShellCmdItemCreate`, `CAShellCmdItemDelete`, `CAShellCmdItemGet`, `CAShellCmdItemMetadataPut`, `CAShellCmdItemMetadataRemove`, `CAShellCmdItemSearchBegin`, `CAShellCmdItemSearchNext`, `CAShellCmdItemSearchPrevious`, `CAShellCmdItemSetName`, `CAShellCmdItemTypesAssign`, `CAShellCmdItemTypesRevoke`, `CAShellCmdLocationAttachmentAdd`, `CAShellCmdLocationAttachmentRemove`, `CAShellCmdLocationDelete`, `CAShellCmdLocationGet`, `CAShellCmdLocationList`, `CAShellCmdLocationPut`, `CAShellCmdStockRepositRemove`, `CAShellCmdStockRepositSerialIntroduce`, `CAShellCmdStockRepositSerialMove`, `CAShellCmdStockRepositSerialNumberAdd`, `CAShellCmdStockRepositSerialNumberRemove`, `CAShellCmdStockRepositSetAdd`, `CAShellCmdStockRepositSetIntroduce`, `CAShellCmdStockRepositSetMove`, `CAShellCmdStockRepositSetRemove`, `CAShellCmdStockSearchBegin`, `CAShellCmdStockSearchNext`, `CAShellCmdStockSearchPrevious`, `CAShellCmdTypePackageGetText`, `CAShellCmdTypePackageInstall`, `CAShellCmdTypePackageSearchBegin`, `CAShellCmdTypePackageSearchNext`, `CAShellCmdTypePackageSearchPrevious`, `CAShellCmdTypePackageUninstall`, `CAShellCmdTypePackageUpgrade`

public abstract class CAShellCmdAbstractCR<C extends CAICommandType<R>,R extends CAIResponseType> extends CAShellCmdAbstract
The abstract command implementation.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CAShellCmdAbstractCR(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata, Class<C> inCommandClass)`
  Construct a command.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final org.jline.reader.Completer`
  `completer()`

  ### Methods inherited from class com.io7m.cardant.shell.internal.CAShellCmdAbstract

  `client, commandTimeout, formatter, loginTimeout, loginTracker, metadata, options, preferences, setCommandTimeoutRecent, setLoginTimeoutRecent, strings, 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

  `onExecute, onListNamedParameters, onListPositionalParameters`

- ## Constructor Details

  - ### CAShellCmdAbstractCR

    protected CAShellCmdAbstractCR(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata, Class<C> inCommandClass)
    Construct a command.
    Parameters:
      `inServices` - The shell services
      `inMetadata` - The metadata
      `inCommandClass` - The command class

- ## Method Details

  - ### completer

    public final org.jline.reader.Completer completer()
    Returns:
      A shell command completer for the command