# Interface QApplicationType

All Superinterfaces:
  `QLocalizationType`

All Known Implementing Classes:
  `QApplication`

public interface QApplicationType extends QLocalizationType
An application.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ResourceBundle`
  `applicationResources()`
  `SortedMap<String,QCommandOrGroupType>`
  `commandTree()`
  `ResourceBundle`
  `internalResources()`
  `QApplicationMetadata`
  `metadata()`
  `QCommandContextType`
  `parse(List<String> arguments)`
  Parse the given command line arguments, returning an appropriate command context for execution.
  `default QCommandStatus`
  `run(org.slf4j.Logger logger, List<String> arguments)`
  A convenience method that runs this application for the given arguments.
  `QValueConverterDirectoryType`
  `valueConverters()`

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

  `format, localize`

- ## Method Details

  - ### metadata

    QApplicationMetadata metadata()
    Returns:
      The application metadata

  - ### commandTree

    SortedMap<String,QCommandOrGroupType> commandTree()
    Returns:
      The tree of commands and command groups

  - ### internalResources

    ResourceBundle internalResources()
    Returns:
      The internal resources used to localize strings

  - ### applicationResources

    ResourceBundle applicationResources()
    Returns:
      The application-specific resources used to localize strings

  - ### valueConverters

    QValueConverterDirectoryType valueConverters()
    Returns:
      The value converters used to parse commands

  - ### parse

    QCommandContextType parse(List<String> arguments) throws QException
    Parse the given command line arguments, returning an appropriate command context for execution.
    Parameters:
      `arguments` - The arguments
    Returns:
      A command context
    Throws:
      `QException` - On errors

  - ### run

    default QCommandStatus run(org.slf4j.Logger logger, List<String> arguments)
    A convenience method that runs this application for the given arguments. Arguments are parsed, and a suitable command is executed. Parse and other errors are logged to the given error logger.
    Parameters:
      `logger` - The receiver of log messages
      `arguments` - The arguments
    Returns:
      The executed command status