Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## org.gradle.api.plugins
[Java] Interface ExtensionContainer

    @HasInternalProtocol
    public interface ExtensionContainer

Allows adding 'namespaced' DSL extensions to a target object.

Method Summary
`void` | `add(String name, Object extension)` Adding an extension of name 'foo' will: add 'foo' dynamic property add 'foo' dynamic method that accepts a closure that is a configuration script block
`void` | `add(String name, Class type, Object... constructionArguments)` Deprecated.
`void` | `configure(Class type, Action action)` Looks for the extension of the specified type and configures it with the supplied action.
`Object` | `create(String name, Class type, Object... constructionArguments)` Adds a new extension to this container, that itself is dynamically made ExtensionAware.
`Object` | `findByName(String name)` Looks for the extension of a given name.
`Object` | `findByType(Class type)` Looks for the extension of a given type (useful to avoid casting).
`Object` | `getByName(String name)` Looks for the extension of a given name.
`Object` | `getByType(Class type)` Looks for the extension of a given type (useful to avoid casting).
`ExtraPropertiesExtension` | `getExtraProperties()` The extra properties extension in this extension container.

Method Detail

### add

    public void add(String name, Object extension)

  Adding an extension of name 'foo' will:
  - add 'foo' dynamic property
  - add 'foo' dynamic method that accepts a closure that is a configuration script block
    Parameters:
      `name` - Will be used as a sort of namespace of properties/methods.
      `extension` - Any object whose methods and properties will extend the target object

### add

    @Deprecated
    public void add(String name, Class type, Object... constructionArguments)

  Deprecated. Use create
  deprecated:
    use create
  Parameters:
    `name` - The name for the extension
    `type` - The type of the extension
    `constructionArguments` - The arguments to be used to construct the extension instance

### configure

    @Incubating
    public void configure(Class type, Action action)

  Looks for the extension of the specified type and configures it with the supplied action.
  throws:
    UnknownDomainObjectException if no exception is found.
  Parameters:
    `type` - extension type
    `action` - the configure action

### create

    public Object create(String name, Class type, Object... constructionArguments)

  Adds a new extension to this container, that itself is dynamically made ExtensionAware. A new instance of the given `type` will be created using the given `constructionArguments`. The new instance will have been dynamically which means that you can cast the object to ExtensionAware.
  Parameters:
    `name` - The name for the extension
    `type` - The type of the extension
    `constructionArguments` - The arguments to be used to construct the extension instance
  Returns:
    The created instance
  See Also:
    add(String, Object)

### findByName

    public Object findByName(String name)

  Looks for the extension of a given name. If none found null is returned.
  Parameters:
    `name` - extension name
  Returns:
    extension or null

### findByType

    public Object findByType(Class type)

  Looks for the extension of a given type (useful to avoid casting). If none found null is returned.
  Parameters:
    `type` - extension type
  Returns:
    extension or null

### getByName

    public Object getByName(String name)

  Looks for the extension of a given name. If none found it will throw an exception.
  throws:
    UnknownDomainObjectException When the given extension is not found.
  Parameters:
    `name` - extension name
  Returns:
    extension, never null

### getByType

    public Object getByType(Class type)

  Looks for the extension of a given type (useful to avoid casting). If none found it will throw an exception.
  throws:
    UnknownDomainObjectException When the given extension is not found.
  Parameters:
    `type` - extension type
  Returns:
    extension, never null

### getExtraProperties

    public ExtraPropertiesExtension getExtraProperties()

  The extra properties extension in this extension container. This extension is always present in the container, with the name “ext”.
  Returns:
    The extra properties extension in this extension container.

Gradle API 1.10