ExtensionContainerpublic interface Convention extends 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.
| Modifier and Type | Method | Description | 
|---|---|---|
| <T> 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> 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. | 
add, add, add, configure, configure, configure, create, create, create, findByName, findByType, findByType, getByName, getByType, getByType, getExtensionsSchema, getExtraProperties, getSchemaMap<String,Object> getPlugins()
<T> T getPlugin(Class<T> type) throws IllegalStateException
type - The convention object type.IllegalStateException - When there is no such object contained in this convention, or when there are
 multiple such objects.@Nullable <T> T findPlugin(Class<T> type) throws IllegalStateException
type - The convention object type.IllegalStateException - When there are multiple matching objects.org.gradle.internal.metaobject.DynamicObject getExtensionsAsDynamicObject()