# Class IdAShellCmdAbstract

java.lang.Object
com.io7m.idstore.shell.admin.internal.IdAShellCmdAbstract

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

Direct Known Subclasses:
  `IdAShellCmdAbstractCR, IdAShellCmdHelp, IdAShellCmdLogin, IdAShellCmdLogout, IdAShellCmdSet, IdAShellCmdVersion`

public abstract class IdAShellCmdAbstract extends Object implements IdAShellCmdType
The abstract base class for shell commands.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `IdAShellCmdAbstract(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected final IdAClientType`
  `client()`
  `final org.jline.reader.Completer`
  `completer()`
  `protected final IdAFormatterType`
  `formatter()`
  `final com.io7m.quarrel.core.QCommandMetadata`
  `metadata()`
  `protected final IdAShellOptions`
  `options()`
  `protected final com.io7m.repetoir.core.RPServiceDirectoryType`
  `services()`
  `protected final org.jline.terminal.Terminal`
  `terminal()`
  `final String`
  `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

  - ### IdAShellCmdAbstract

    protected IdAShellCmdAbstract(com.io7m.repetoir.core.RPServiceDirectoryType inServices, com.io7m.quarrel.core.QCommandMetadata inMetadata)

- ## Method Details

  - ### metadata

    public final com.io7m.quarrel.core.QCommandMetadata metadata()
    Specified by:
      `metadata` in interface `com.io7m.quarrel.core.QCommandOrGroupType`

  - ### client

    protected final IdAClientType client()

  - ### terminal

    protected final org.jline.terminal.Terminal terminal()

  - ### options

    protected final IdAShellOptions options()

  - ### services

    protected final com.io7m.repetoir.core.RPServiceDirectoryType services()

  - ### formatter

    protected final IdAFormatterType formatter()

  - ### toString

    public final String toString()
    Overrides:
      `toString` in class `Object`

  - ### completer

    public final org.jline.reader.Completer completer()
    Specified by:
      `completer` in interface `IdAShellCmdType`
    Returns:
      A shell command completer for the command