Table of Contents
API Documentation: | NamedDomainObjectContainer |
---|
A named domain object container is a specialization 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.
You can create an instance of this type using the factory method ObjectFactory.domainObjectContainer(java.lang.Class)
.
Method | Description |
create(name) | Creates a new item with the given name, adding it to this container. |
create(name, configureClosure) | Creates a new item with the given name, adding it to this container, then configuring it with the given closure. |
create(name, configureAction) | Creates a new item with the given name, adding it to this container, then configuring it with the given action. |
getByName(name) | Locates an object by name, failing if there is no such object. |
getByName(name, configureClosure) | Locates an object by name, failing if there is no such object. The given configure closure is executed against the object before it is returned from this method. The object is passed to the closure as its delegate. |
getByName(name, configureAction) | Locates an object by name, failing if there is no such object. The given configure action is executed against the object before it is returned from this method. |
maybeCreate(name) | Looks for an item with the given name, creating and adding it to this container if it does not exist. |
named(name) | Locates a object by name, without triggering its creation or configuration, failing if there is no such object. |
named(name, type) | Locates a object by name and type, without triggering its creation or configuration, failing if there is no such object. |
named(name, type, configurationAction) | Locates a object by name and type, without triggering its creation or configuration, failing if there is no such object. The given configure action is executed against the object before it is returned from the provider. |
named(name, configurationAction) | Locates a object by name, without triggering its creation or configuration, failing if there is no such object. The given configure action is executed against the object before it is returned from the provider. |
named(nameFilter) | Incubating Returns a collection containing the objects with names matching the provided filter. The returned collection is live, so that when matching objects are added to this collection, they are also visible in the filtered collection. This method will NOT cause any pending objects in this container to be realized. |
register(name) | Defines a new object, which will be created when it is required. A object is 'required' when the object is located using query methods such as |
register(name, configurationAction) | Defines a new object, which will be created and configured when it is required. An object is 'required' when the object is located using query methods such as |
T
create
(String
name)
Creates a new item with the given name, adding it to this container.
Creates a new item with the given name, adding it to this container, then configuring it with the given closure.
Creates a new item with the given name, adding it to this container, then configuring it with the given action.
T
getByName
(String
name)
Locates an object by name, failing if there is no such object.
Locates an object by name, failing if there is no such object. The given configure closure is executed against the object before it is returned from this method. The object is passed to the closure as its delegate.
Locates an object by name, failing if there is no such object. The given configure action is executed against the object before it is returned from this method.
T
maybeCreate
(String
name)
Looks for an item with the given name, creating and adding it to this container if it does not exist.
NamedDomainObjectProvider
<T
>
named
(String
name)
NamedDomainObjectProvider
<T
>Locates a object by name, without triggering its creation or configuration, failing if there is no such object.
NamedDomainObjectProvider
<S
>
named
(String
name, Class
<S
>
type)
NamedDomainObjectProvider
<S
>Class
<S
>Locates a object by name and type, without triggering its creation or configuration, failing if there is no such object.
NamedDomainObjectProvider
<S
>
named
(String
name, Class
<S
>
type, Action
<? super S
>
configurationAction)
NamedDomainObjectProvider
<S
>Class
<S
>Action
<? super S
>Locates a object by name and type, without triggering its creation or configuration, failing if there is no such object. The given configure action is executed against the object before it is returned from the provider.
NamedDomainObjectProvider
<T
>
named
(String
name, Action
<? super T
>
configurationAction)
NamedDomainObjectProvider
<T
>Action
<? super T
>Locates a object by name, without triggering its creation or configuration, failing if there is no such object. The given configure action is executed against the object before it is returned from the provider.
NamedDomainObjectCollection
<T
>
named
(Spec
<String
>
nameFilter)
NamedDomainObjectCollection
<T
>Spec
<String
>Note: This method is incubating and may change in a future version of Gradle.
Returns a collection containing the objects with names matching the provided filter. The returned collection is live, so that when matching objects are added to this collection, they are also visible in the filtered collection. This method will NOT cause any pending objects in this container to be realized.
NamedDomainObjectProvider
<T
>
register
(String
name)
NamedDomainObjectProvider
<T
>Defines a new object, which will be created when it is required. A object is 'required' when the object is located using query methods such as NamedDomainObjectCollection.getByName(java.lang.String)
or when Provider.get()
is called on the return value of this method.
It is generally more efficient to use this method instead of NamedDomainObjectContainer.create(java.lang.String)
, as that method will eagerly create the object, regardless of whether that object is required for the current build or not. This method, on the other hand, will defer creation until required.
NamedDomainObjectProvider
<T
>
register
(String
name, Action
<? super T
>
configurationAction)
NamedDomainObjectProvider
<T
>Action
<? super T
>Defines a new object, which will be created and configured when it is required. An object is 'required' when the object is located using query methods such as NamedDomainObjectCollection.getByName(java.lang.String)
or when Provider.get()
is called on the return value of this method.
It is generally more efficient to use this method instead of NamedDomainObjectContainer.create(java.lang.String, org.gradle.api.Action)
or NamedDomainObjectContainer.create(java.lang.String)
, as those methods will eagerly create and configure the object, regardless of whether that object is required for the current build or not. This method, on the other hand, will defer creation and configuration until required.