# 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 CAShellCmdAbstract

  `client, commandTimeout, formatter, loginTimeout, loginTracker, metadata, options, preferences, setCommandTimeoutRecent, setLoginTimeoutRecent, strings, terminal, toString`

  ### Methods inherited from class 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