PolymorphicDomainObjectContainer

一个 NamedDomainObjectContainer,允许您创建不同类型的对象。

属性

无属性

方法

方法描述
containerWithType(type)

创建一个常规容器,该容器包装多态容器并呈现指定类型的所有元素。

create(name)

创建具有给定名称的新项,并将其添加到此容器。

create(name, configureClosure)

创建具有给定名称的新项,并将其添加到此容器,然后使用给定的闭包对其进行配置。

create(name, type)

创建具有指定名称和类型的领域对象,并将其添加到容器中。

create(name, type, configuration)

创建具有指定名称和类型的领域对象,将其添加到容器,并使用指定的 action 进行配置。

create(name, configureAction)

创建具有给定名称的新项,并将其添加到此容器,然后使用给定的 action 对其进行配置。

getByName(name)

按名称查找对象,如果不存在此类对象则失败。

getByName(name, configureClosure)

按名称查找对象,如果不存在此类对象则失败。在从该方法返回对象之前,将针对该对象执行给定的配置闭包。该对象作为其委托传递给闭包。

getByName(name, configureAction)

按名称查找对象,如果不存在此类对象则失败。在从该方法返回对象之前,将针对该对象执行给定的配置 action。

maybeCreate(name)

查找具有给定名称的项,如果不存在,则创建并将其添加到此容器。

maybeCreate(name, type)

查找具有给定名称和类型的项,如果不存在,则创建并将其添加到此容器。

named(name)

按名称查找对象,如果不存在此类对象则失败。

named(name, type)

按名称和类型查找对象,如果不存在此类对象则失败。

named(name, type, configurationAction)

按名称和类型查找对象,如果不存在此类对象则失败。在从 provider 返回对象之前,将针对该对象执行给定的配置 action。

named(name, configurationAction)

按名称查找对象,如果不存在此类对象则失败。在从 provider 返回对象之前,将针对该对象执行给定的配置 action。

named(nameFilter)
孵化中

返回一个集合,其中包含名称与提供的过滤器匹配的对象。返回的集合是动态的(live),因此当匹配的对象添加到此集合时,它们也会在过滤后的集合中可见。

register(name)

定义一个新对象,该对象将在需要时创建。当使用查询方法(例如 NamedDomainObjectCollection.getByName(java.lang.String))定位对象或对此方法的返回值调用 Provider.get() 时,该对象即被“需要”。

register(name, configurationAction)

定义一个新对象,该对象将在需要时创建和配置。当使用查询方法(例如 NamedDomainObjectCollection.getByName(java.lang.String))定位对象或对此方法的返回值调用 Provider.get() 时,该对象即被“需要”。

脚本块

无脚本块

方法详情

NamedDomainObjectContainer<U> containerWithType(Class<U> type)

创建一个常规容器,该容器包装多态容器并呈现指定类型的所有元素。

此方法是一个中间操作。它不改变集合中元素的已实现/未实现状态。

T create(String name)

创建具有给定名称的新项,并将其添加到此容器。

此操作是即时执行的 (eager),元素在返回之前被实现。

T create(String name, Closure configureClosure)

创建具有给定名称的新项,并将其添加到此容器,然后使用给定的闭包对其进行配置。

此操作是即时执行的 (eager),元素在返回之前被实现。

U create(String name, Class<U> type)

创建具有指定名称和类型的领域对象,并将其添加到容器中。

此操作是即时执行的 (eager),元素在返回之前被实现。

U create(String name, Class<U> type, Action<? super U> configuration)

创建具有指定名称和类型的领域对象,将其添加到容器,并使用指定的 action 进行配置。

此操作是即时执行的 (eager),元素在返回之前被实现。

T create(String name, Action<? super T> configureAction)

创建具有给定名称的新项,并将其添加到此容器,然后使用给定的 action 对其进行配置。

此操作是即时执行的 (eager),元素在返回之前被实现。

T getByName(String name)

按名称查找对象,如果不存在此类对象则失败。

此操作是即时执行的 (eager) 并且将导致返回的元素被实现。

T getByName(String name, Closure configureClosure)

按名称查找对象,如果不存在此类对象则失败。在从该方法返回对象之前,将针对该对象执行给定的配置闭包。该对象作为其委托传递给闭包。

此操作是即时执行的 (eager) 并且将导致返回的元素被实现。

T getByName(String name, Action<? super T> configureAction)

按名称查找对象,如果不存在此类对象则失败。在从该方法返回对象之前,将针对该对象执行给定的配置 action。

此操作是即时执行的 (eager) 并且将导致返回的元素被实现。

T maybeCreate(String name)

查找具有给定名称的项,如果不存在,则创建并将其添加到此容器。

此操作是即时执行的 (eager),元素在返回之前被实现。

U maybeCreate(String name, Class<U> type)

查找具有给定名称和类型的项,如果不存在,则创建并将其添加到此容器。

此操作是即时执行的 (eager),元素在返回之前被实现。

按名称查找对象,如果不存在此类对象则失败。

此方法是延迟执行的 (lazy),不会导致返回的元素被实现。

NamedDomainObjectProvider<S> named(String name, Class<S> type)

按名称和类型查找对象,如果不存在此类对象则失败。

此方法是延迟执行的 (lazy),不会导致返回的元素被实现。

NamedDomainObjectProvider<S> named(String name, Class<S> type, Action<? super S> configurationAction)

按名称和类型查找对象,如果不存在此类对象则失败。在从 provider 返回对象之前,将针对该对象执行给定的配置 action。

此方法是延迟执行的 (lazy),不会导致返回的元素被实现。

NamedDomainObjectProvider<T> named(String name, Action<? super T> configurationAction)

按名称查找对象,如果不存在此类对象则失败。在从 provider 返回对象之前,将针对该对象执行给定的配置 action。

此方法是延迟执行的 (lazy),不会导致返回的元素被实现。

注意:此方法正在 孵化中,可能会在未来版本的 Gradle 中更改。

返回一个集合,其中包含名称与提供的过滤器匹配的对象。返回的集合是动态的(live),因此当匹配的对象添加到此集合时,它们也会在过滤后的集合中可见。

此方法是一个中间操作。它不改变集合中元素的已实现/未实现状态。

定义一个新对象,该对象将在需要时创建。当使用查询方法(例如 NamedDomainObjectCollection.getByName(java.lang.String))定位对象或对此方法的返回值调用 Provider.get() 时,该对象即被“需要”。

通常,使用此方法比使用 NamedDomainObjectContainer.create(java.lang.String) 更高效,因为后者会即时创建对象,无论当前构建是否需要该对象。而此方法会延迟创建,直到需要时为止。

此操作是延迟执行的 (lazy),返回的元素未被实现。返回一个 NamedDomainObjectProvider,允许继续将其与其他延迟 API 一起使用。

NamedDomainObjectProvider<T> register(String name, Action<? super T> configurationAction)

定义一个新对象,该对象将在需要时创建和配置。当使用查询方法(例如 NamedDomainObjectCollection.getByName(java.lang.String))定位对象或对此方法的返回值调用 Provider.get() 时,该对象即被“需要”。

通常,使用此方法比使用 NamedDomainObjectContainer.create(java.lang.String, org.gradle.api.Action)NamedDomainObjectContainer.create(java.lang.String) 更高效,因为这些方法会即时创建和配置对象,无论当前构建是否需要该对象。而此方法会延迟创建和配置,直到需要时为止。

此操作是延迟执行的 (lazy),返回的元素未被实现。返回一个 NamedDomainObjectProvider,允许继续将其与其他延迟 API 一起使用。