# Interface QCommandType

All Superinterfaces:
  `QCommandOrGroupType`

All Known Implementing Classes:
  `ExCat`, `ExCmd0`, `ExCmd1`, `ExCow`, `ExDog`, `ExEverything`, `ExMeta`, `QCommandApplicationUsage`, `QCommandHelp`, `QCommandVersion`, `QCommandXS`

@ProviderType public non-sealed interface QCommandType extends QCommandOrGroupType
The interface implemented by commands.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `QCommandStatus`
  `onExecute(QCommandContextType context)`
  Execute the command.
  `List<QParameterNamedType<?>>`
  `onListNamedParameters()`
  `default QParametersPositionalType`
  `onListPositionalParameters()`

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

  `isHidden, metadata`

- ## Method Details

  - ### onListNamedParameters

    List<QParameterNamedType<?>> onListNamedParameters()
    Returns:
      The named parameters for the command

  - ### onListPositionalParameters

    default QParametersPositionalType onListPositionalParameters()
    Returns:
      The positional parameters for the command

  - ### onExecute

    QCommandStatus onExecute(QCommandContextType context) throws Exception
    Execute the command.
    Parameters:
      `context` - The command context
    Returns:
      The result of execution
    Throws:
      `Exception` - On errors