public interface ExtensionContainer
| Modifier and Type | Method and Description | 
|---|---|
| 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 | 
| <T> void | configure(Class<T> type,
         Action<? super T> action)Looks for the extension of the specified type and configures it with the supplied action. | 
| <T> T | create(String name,
      Class<T> 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. | 
| <T> T | findByType(Class<T> 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. | 
| <T> T | getByType(Class<T> type)Looks for the extension of a given type (useful to avoid casting). | 
| ExtraPropertiesExtension | getExtraProperties()The extra properties extension in this extension container. | 
void add(String name, Object extension)
name - Will be used as a sort of namespace of properties/methods.extension - Any object whose methods and properties will extend the target objectIllegalArgumentException - When an extension with the given name already exists.<T> T create(String name, Class<T> type, Object... constructionArguments)
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.name - The name for the extensiontype - The type of the extensionconstructionArguments - The arguments to be used to construct the extension instanceIllegalArgumentException - When an extension with the given name already exists.add(String, Object)<T> T getByType(Class<T> type) throws UnknownDomainObjectException
type - extension typeUnknownDomainObjectException - When the given extension is not found.<T> T findByType(Class<T> type)
type - extension typeObject getByName(String name) throws UnknownDomainObjectException
name - extension nameUnknownDomainObjectException - When the given extension is not found.Object findByName(String name)
name - extension name@Incubating <T> void configure(Class<T> type, Action<? super T> action)
type - extension typeaction - the configure actionUnknownDomainObjectException - if no extension is found.ExtraPropertiesExtension getExtraProperties()