Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## org.gradle.api
[Java] Interface PolymorphicDomainObjectContainer

    org.gradle.api.NamedDomainObjectSet
      org.gradle.api.PolymorphicDomainObjectContainer
          java.lang.Iterable
              org.gradle.api.NamedDomainObjectCollection
                  org.gradle.api.DomainObjectCollection
                      org.gradle.util.Configurable
                          java.util.Collection
                              org.gradle.api.NamedDomainObjectContainer

All Superinterfaces:
  NamedDomainObjectSet, Iterable, NamedDomainObjectCollection, DomainObjectCollection, Configurable, Collection, NamedDomainObjectContainer

    @Incubating
    public interface PolymorphicDomainObjectContainer
    extends NamedDomainObjectContainer

A NamedDomainObjectContainer that allows to create domain objects with different types.

Parameters:
  `` - the (base) type of domain objects in the container

Method Summary
`Object` | `create(String name, Class type)` Creates a domain object with the specified name and type, and adds it to the container.
`Object` | `create(String name, Class type, Action configuration)` Creates a domain object with the specified name and type, adds it to the container, and configures it with the specified action.

Methods inherited from interface NamedDomainObjectContainer
configure, create, create, create, maybeCreate

Methods inherited from interface NamedDomainObjectSet
findAll, matching, matching, withType

Method Detail

### create

    public Object create(String name, Class type)

  Creates a domain object with the specified name and type, and adds it to the container.
  throws:
    InvalidUserDataException if a domain object with the specified name already exists or the container does not support creating a domain object with the specified type
  Parameters:
    `name` - the name of the domain object to be created
    `type` - the type of the domain object to be created
    `` - the type of the domain object to be created
  Returns:
    the created domain object

### create

    public Object create(String name, Class type, Action configuration)

  Creates a domain object with the specified name and type, adds it to the container, and configures it with the specified action.
  throws:
    InvalidUserDataException if a domain object with the specified name already exists or the container does not support creating a domain object with the specified type
  Parameters:
    `name` - the name of the domain object to be created
    `type` - the type of the domain object to be created
    `configuration` - an action for configuring the domain object
    `` - the type of the domain object to be created
  Returns:
    the created domain object

Gradle API 1.10