Groovy Documentation

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.8