org.qi4j.api.structure

## Interface Application

- All Superinterfaces:
    Activation, ActivationEventListenerRegistration, MetaInfoHolder

      public interface Application
      extends ActivationEventListenerRegistration, Activation, MetaInfoHolder

  The Application represents a whole Zest application.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `Application.Mode` Application modes.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ApplicationDescriptor` | `descriptor()`
    `Layer` | `findLayer(String layerName)` Find a Layer.
    `Module` | `findModule(String layerName, String moduleName)` Find a Module.
    `Application.Mode` | `mode()`
    `String` | `name()`
    `String` | `version()` The version of the application.

    - ### Methods inherited from interface org.qi4j.api.activation.ActivationEventListenerRegistration

      `deregisterActivationEventListener, registerActivationEventListener`

    - ### Methods inherited from interface org.qi4j.api.activation.Activation

      `activate, passivate`

    - ### Methods inherited from interface org.qi4j.api.structure.MetaInfoHolder

      `metaInfo`

- - ### Method Detail

    - #### name

          String name()

      Returns:
        Application name

    - #### version

          String version()

      The version of the application. This can be in any format, but most likely will follow the Dewey format, i.e. x.y.z.
      Returns:
        the version of the application

    - #### mode

          Application.Mode mode()

      Returns:
        Application Mode

    - #### findLayer

          Layer findLayer(String layerName)
                          throws IllegalArgumentException

      Find a Layer.
      Parameters:
        `layerName` - Layer name
      Returns:
        Found Layer, never returns null
      Throws:
        `IllegalArgumentException` - if there's no such Layer

    - #### findModule

          Module findModule(String layerName,
                          String moduleName)
                            throws IllegalArgumentException

      Find a Module.
      Parameters:
        `layerName` - Layer name
        `moduleName` - Module name
      Returns:
        Found Module, never returns null
      Throws:
        `IllegalArgumentException` - if there's no such Module

    - #### descriptor

          ApplicationDescriptor descriptor()

      Returns:
        Application Descriptor