T
- The type of domain objects in this container.public interface NamedDomainObjectContainer<T> extends NamedDomainObjectSet<T>, org.gradle.util.Configurable<NamedDomainObjectContainer<T>>
A named domain object container is a specialisation of NamedDomainObjectSet
that adds the ability to create
instances of the element type.
Implementations may use different strategies for creating new object instances.
Note that a container is an implementation of SortedSet
, which means that the container is guaranteed
to only contain elements with unique names within this container. Furthermore, items are ordered by their name.
NamedDomainObjectSet
Modifier and Type | Method and Description |
---|---|
NamedDomainObjectContainer<T> |
configure(Closure configureClosure)
Allows the container to be configured, creating missing objects as they are referenced.
|
T |
create(String name)
Creates a new item with the given name, adding it to this container.
|
T |
create(String name,
Action<? super T> configureAction)
Creates a new item with the given name, adding it to this container, then configuring it with the given action.
|
T |
create(String name,
Closure configureClosure)
Creates a new item with the given name, adding it to this container, then configuring it with the given closure.
|
T |
maybeCreate(String name)
Looks for an item with the given name, creating and adding it to this container if it does not exist.
|
findAll, matching, matching, withType
add, addAll, addRule, addRule, findByName, getAsMap, getAt, getByName, getByName, getNamer, getNames, getRules
all, all, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType
T create(String name) throws InvalidUserDataException
name
- The name to assign to the created objectInvalidUserDataException
- if an object with the given name already exists in this container.T maybeCreate(String name)
name
- The name to find or assign to the created objectT create(String name, Closure configureClosure) throws InvalidUserDataException
name
- The name to assign to the created objectconfigureClosure
- The closure to configure the created object withInvalidUserDataException
- if an object with the given name already exists in this container.T create(String name, Action<? super T> configureAction) throws InvalidUserDataException
name
- The name to assign to the created objectconfigureAction
- The action to configure the created object withInvalidUserDataException
- if an object with the given name already exists in this container.NamedDomainObjectContainer<T> configure(Closure configureClosure)
Allows the container to be configured, creating missing objects as they are referenced.
TODO: example usage
configure
in interface org.gradle.util.Configurable<NamedDomainObjectContainer<T>>
configureClosure
- The closure to configure this container with