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

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

    public interface ExtensionAware

Objects that can be extended at runtime with other objects.

     // Extensions are just plain objects, there is no interface/type
     class MyExtension {
       String foo

       MyExtension(String foo) {
         this.foo = foo
       }
     }

     // Add new extensions via the extension container
     project.extensions.create('custom', MyExtension, "bar")
     //                       («name»,   «type»,       «constructor args», …)

     // extensions appear as properties on the target object by the given name
     assert project.custom instanceof MyExtension
     assert project.custom.foo == "bar"

     // also via a namespace method
     project.custom {
       assert foo == "bar"
       foo = "other"
     }
     assert project.custom.foo == "other"

     // Extensions added with the extension container's create method are themselves extensible
     assert project.custom instanceof ExtensionAware
     project.custom.extensions.create("nested", MyExtension, "baz")
     assert project.custom.nested.foo == "baz"

     // All extension aware objects have a special “ext” extension of type ExtraPropertiesExtension
     assert project.hasProperty("myProperty") == false
     project.ext.myProperty = "myValue"

     // Properties added to the “ext” extension are promoted to the owning object
     assert project.myProperty == "myValue"

Many Gradle objects are extension aware. This includes; projects, tasks, configurations, dependencies etc.

For more on adding & creating extensions, see ExtensionContainer.

For more on extra properties, see ExtraPropertiesExtension.

Method Summary
`ExtensionContainer` | `getExtensions()` The container of extensions.

Method Detail

### getExtensions

    public ExtensionContainer getExtensions()

  The container of extensions.

Gradle API 1.10