NamedDomainObjectContainer

命名域对象容器是 NamedDomainObjectSet 的一个特殊化,它添加了创建元素类型实例的能力。

实现可能使用不同的策略来创建新的对象实例。

请注意,容器是 SortedSet 的一个实现,这意味着容器保证只包含在此容器内具有唯一名称的元素。此外,项目按其名称排序。

您可以使用工厂方法 ObjectFactory.domainObjectContainer(java.lang.Class) 创建此类型的实例。

属性

无属性

方法

方法描述
create(name)

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

create(name, configureClosure)

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

create(name, configureAction)

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

getByName(name)

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

getByName(name, configureClosure)

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

getByName(name, configureAction)

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

maybeCreate(name)

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

named(name)

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

named(name, type)

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

named(name, type, configurationAction)

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

named(name, configurationAction)

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

named(nameFilter)
孵化中的功能

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

register(name)

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

register(name, configurationAction)

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

脚本块

无脚本块

方法详情

T create(String name)

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

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

T create(String name, Closure configureClosure)

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

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

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

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

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

T getByName(String name)

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

此操作是立即执行的,并将导致返回的元素被实现。

T getByName(String name, Closure configureClosure)

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

此操作是立即执行的,并将导致返回的元素被实现。

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

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

此操作是立即执行的,并将导致返回的元素被实现。

T maybeCreate(String name)

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

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

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

此方法是惰性的,不会导致返回的元素被实现。

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

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

此方法是惰性的,不会导致返回的元素被实现。

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

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

此方法是惰性的,不会导致返回的元素被实现。

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

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

此方法是惰性的,不会导致返回的元素被实现。

注意:此方法是孵化中的功能,并且可能在 Gradle 的未来版本中更改。

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

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

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

通常使用此方法而不是 NamedDomainObjectContainer.create(java.lang.String) 更有效,因为该方法将立即创建对象,而不管当前构建是否需要该对象。另一方面,此方法将延迟创建,直到需要时才创建。

此操作是惰性的,返回的元素未实现。返回 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) 更有效,因为这些方法将立即创建和配置对象,而不管当前构建是否需要该对象。另一方面,此方法将延迟创建和配置,直到需要时才进行。

此操作是惰性的,返回的元素未实现。返回 NamedDomainObjectProvider,允许继续将其与其他惰性 API 一起使用。