T
- The type of domain objects in this container.Collection<T>
, org.gradle.util.Configurable<NamedDomainObjectContainer<T>>
, DomainObjectCollection<T>
, Iterable<T>
, NamedDomainObjectCollection<T>
, NamedDomainObjectSet<T>
, Set<T>
ArtifactTypeContainer
, AuthenticationContainer
, BuildTypeContainer
, ConfigurationContainer
, DistributionContainer
, ExtensiblePolymorphicDomainObjectContainer<T>
, FlavorContainer
, IvyConfigurationContainer
, NativeToolChainRegistry
, PlatformContainer
, PlayDistributionContainer
, PolymorphicDomainObjectContainer<T>
, PublicationContainer
, Repositories
, SourceSetContainer
, TaskContainer
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 | 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,
Closure configureClosure) |
Creates a new item with the given name, adding it to this container, then configuring it with the given closure.
|
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 |
maybeCreate(String name) |
Looks for an item with the given name, creating and adding it to this container if it does not exist.
|
clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray
all, all, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType
add, addAll, addRule, addRule, addRule, findByName, getAsMap, getAt, getByName, getByName, getByName, getNamer, getNames, getRules
findAll, matching, matching, 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<T>
configureClosure
- The closure to configure this container with