Package: org.gradle.api.plugins

## [Java] Interface Convention

- org.gradle.api.plugins.Convention

- All Superinterfaces:
    ExtensionContainer

  A `Convention` manages a set of convention objects. When you add a convention object to a `Convention`, and the properties and methods of the convention object become available as properties and methods of the object which the convention is associated to. A convention object is simply a POJO or POGO. Usually, a `Convention` is used by plugins to extend a Project or a Task.

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `T` | `findPlugin(Class<T> type)` Locates the plugin convention object with the given type.
    `org.gradle.internal.metaobject.DynamicObject` | `getExtensionsAsDynamicObject()` Returns a dynamic object which represents the properties and methods contributed by the extensions and convention objects contained in this convention.
    `T` | `getPlugin(Class<T> type)` Locates the plugin convention object with the given type.
    `Map<String, Object>` | `getPlugins()` Returns the plugin convention objects contained in this convention.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface ExtensionContainer` | `add, configure, create, findByName, findByType, getByName, getByType, getExtraProperties`

- - ### Method Detail

    - #### public T findPlugin(Class<T> type)

      Locates the plugin convention object with the given type.

      throws:
        IllegalStateException When there are multiple matching objects.
      Parameters:
        `type` - The convention object type.
      Returns:
        The object. Returns null if there is no such object.

    - #### public org.gradle.internal.metaobject.DynamicObject getExtensionsAsDynamicObject()

      Returns a dynamic object which represents the properties and methods contributed by the extensions and convention objects contained in this convention.

      Returns:
        The dynamic object

    - #### public T getPlugin(Class<T> type)

      Locates the plugin convention object with the given type.

      throws:
        IllegalStateException When there is no such object contained in this convention, or when there are multiple such objects.
      Parameters:
        `type` - The convention object type.
      Returns:
        The object. Never returns null.

    - #### public Map<String, Object> getPlugins()

      Returns the plugin convention objects contained in this convention.

      Returns:
        The plugins. Returns an empty map when this convention does not contain any convention objects.