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.
- The type of domain objects in this container.Type | Name and description |
---|---|
NamedDomainObjectContainer<T> |
configure(Closure configureClosure) |
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. |
Methods inherited from class | Name |
---|---|
interface NamedDomainObjectSet |
findAll, matching, matching, withType |
interface NamedDomainObjectCollection |
add, addAll, addRule, addRule, findByName, getAsMap, getAt, getByName, getByName, getNamer, getNames, getRules, matching, matching, withType |
interface Set |
add, remove, equals, hashCode, clear, contains, isEmpty, iterator, size, toArray, toArray, spliterator, addAll, containsAll, removeAll, retainAll, stream, removeIf, parallelStream, forEach |
Allows the container to be configured, creating missing objects as they are referenced.
TODO: example usage
configureClosure
- The closure to configure this container withCreates a new item with the given name, adding it to this container.
name
- The name to assign to the created objectCreates a new item with the given name, adding it to this container, then configuring it with the given closure.
name
- The name to assign to the created objectconfigureClosure
- The closure to configure the created object withCreates a new item with the given name, adding it to this container, then configuring it with the given action.
name
- The name to assign to the created objectconfigureAction
- The action to configure the created object withLooks for an item with the given name, creating and adding it to this container if it does not exist.
name
- The name to find or assign to the created object