Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.gradle.api
Interface NamedDomainObjectContainer<T>

Type Parameters:
  `T` - The type of domain objects in this container.

All Superinterfaces:
  Collection<T>, org.gradle.util.Configurable<NamedDomainObjectContainer<T>>, DomainObjectCollection<T>, Iterable<T>, NamedDomainObjectCollection<T>, NamedDomainObjectSet<T>, Set<T>

All Known Subinterfaces:
  ConfigurationContainer, 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.

See Also:
  `NamedDomainObjectSet`

Method Summary
`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.

Methods inherited from interface org.gradle.api.NamedDomainObjectSet
`matching, matching, withType`

Methods inherited from interface org.gradle.api.NamedDomainObjectCollection
`add, addAll, addRule, addRule, findByName, getAsMap, getAt, getByName, getByName, getNamer, getRules`

Methods inherited from interface org.gradle.api.DomainObjectCollection
`all, all, allObjects, allObjects, findAll, getAll, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType`

Methods inherited from interface java.util.Collection
`clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

Methods inherited from interface java.util.Set
`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

Method Detail

### create

    T create(String name)
             throws InvalidUserDataException

  Creates a new item with the given name, adding it to this container.

  Parameters:
    `name` - The name to assign to the created object
  Returns:
    The created object. Never null.
  Throws:
    `InvalidUserDataException` - if an object with the given name already exists in this container.

### create

    T create(String name,
             Closure configureClosure)
             throws InvalidUserDataException

  Creates a new item with the given name, adding it to this container, then configuring it with the given closure.

  Parameters:
    `name` - The name to assign to the created object
    `configureClosure` - The closure to configure the created object with
  Returns:
    The created object. Never null.
  Throws:
    `InvalidUserDataException` - if an object with the given name already exists in this container.

### configure

    NamedDomainObjectContainer<T> configure(Closure configureClosure)

  Allows the container to be configured, creating missing objects as they are referenced.

  TODO: example usage

  Specified by:
    `configure` in interface `org.gradle.util.Configurable<NamedDomainObjectContainer<T>>`
  Parameters:
    `configureClosure` - The closure to configure this container with
  Returns:
    This.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD