PolymorphicDomainObjectContainer

一個 NamedDomainObjectContainer,讓您可以使用不同類型建立物件。

屬性

無屬性

方法

方法描述
containerWithType(type)

建立一個常規容器,包裝多型容器,呈現指定類型的所有元素。

create(name)

使用給定的名稱建立一個新項目,並將其添加到此容器中。

create(name, configureClosure)

使用給定的名稱建立一個新項目,將其添加到此容器中,然後使用給定的閉包 (closure) 配置它。

create(name, type)

使用指定的名稱和類型建立一個網域物件,並將其添加到容器中。

create(name, type, configuration)

使用指定的名稱和類型建立一個網域物件,將其添加到容器中,並使用指定的動作 (action) 配置它。

create(name, configureAction)

使用給定的名稱建立一個新項目,將其添加到此容器中,然後使用給定的動作 (action) 配置它。

getByName(name)

依名稱尋找物件,如果沒有此物件則失敗。

getByName(name, configureClosure)

依名稱尋找物件,如果沒有此物件則失敗。給定的配置閉包 (closure) 會針對物件執行,然後從此方法傳回。物件會作為委派傳遞到閉包 (closure)。

getByName(name, configureAction)

依名稱尋找物件,如果沒有此物件則失敗。給定的配置動作 (action) 會針對物件執行,然後從此方法傳回。

maybeCreate(name)

尋找具有給定名稱的項目,如果不存在,則建立並將其添加到此容器。

maybeCreate(name, type)

尋找具有給定名稱和類型的項目,如果不存在,則建立並將其添加到此容器。

named(name)

依名稱尋找物件,如果沒有此物件則失敗。

named(name, type)

依名稱和類型尋找物件,如果沒有此物件則失敗。

named(name, type, configurationAction)

依名稱和類型尋找物件,如果沒有此物件則失敗。給定的配置動作 (action) 會針對物件執行,然後從提供器 (provider) 傳回。

named(name, configurationAction)

依名稱尋找物件,如果沒有此物件則失敗。給定的配置動作 (action) 會針對物件執行,然後從提供器 (provider) 傳回。

named(nameFilter)
孵化中 (Incubating)

傳回一個集合,其中包含名稱與提供的篩選器相符的物件。傳回的集合是即時的,因此當符合條件的物件新增到此集合時,它們也會在篩選後的集合中顯示。

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)

使用給定的名稱建立一個新項目,並將其添加到此容器中。

此操作是急迫的,元素會在傳回之前實現。

T create(String name, Closure configureClosure)

使用給定的名稱建立一個新項目,將其添加到此容器中,然後使用給定的閉包 (closure) 配置它。

此操作是急迫的,元素會在傳回之前實現。

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

使用指定的名稱和類型建立一個網域物件,並將其添加到容器中。

此操作是急迫的,元素會在傳回之前實現。

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

使用指定的名稱和類型建立一個網域物件,將其添加到容器中,並使用指定的動作 (action) 配置它。

此操作是急迫的,元素會在傳回之前實現。

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

使用給定的名稱建立一個新項目,將其添加到此容器中,然後使用給定的動作 (action) 配置它。

此操作是急迫的,元素會在傳回之前實現。

T getByName(String name)

依名稱尋找物件,如果沒有此物件則失敗。

此操作是急迫的,將導致傳回的元素被實現。

T getByName(String name, Closure configureClosure)

依名稱尋找物件,如果沒有此物件則失敗。給定的配置閉包 (closure) 會針對物件執行,然後從此方法傳回。物件會作為委派傳遞到閉包 (closure)。

此操作是急迫的,將導致傳回的元素被實現。

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

依名稱尋找物件,如果沒有此物件則失敗。給定的配置動作 (action) 會針對物件執行,然後從此方法傳回。

此操作是急迫的,將導致傳回的元素被實現。

T maybeCreate(String name)

尋找具有給定名稱的項目,如果不存在,則建立並將其添加到此容器。

此操作是急迫的,元素會在傳回之前實現。

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

尋找具有給定名稱和類型的項目,如果不存在,則建立並將其添加到此容器。

此操作是急迫的,元素會在傳回之前實現。

依名稱尋找物件,如果沒有此物件則失敗。

此方法是延遲的,不會導致傳回的元素被實現。

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 一起使用。