Interface ModelMap<T>
-
- Type Parameters:
T
- the contract type for all items
- All Superinterfaces:
java.lang.Iterable<T>
,ModelElement
,Named
- All Known Subinterfaces:
BinaryContainer
,ComponentSpecContainer
,FunctionalSourceSet
,TestSuiteContainer
@Incubating public interface ModelMap<T> extends java.lang.Iterable<T>, ModelElement
Model backed map like structure allowing adding of items where instantiation is managed.Managed
types may declare model map properties. Model maps can only contain managed types.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.gradle.api.Named
Named.Namer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <S> void
afterEach(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in the collection, as each item is required.void
afterEach(Action<? super T> configAction)
Applies the given action to each item in the collection, as each item is required.void
all(Action<? super T> configAction)
Applies the given action to each item in the collection, as each item is required.<S> void
beforeEach(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in this collection, as each item is required.void
beforeEach(Action<? super T> configAction)
Applies the given action to each item in this collection, as each item is required.boolean
containsKey(java.lang.Object name)
Returns true if this collection contains an item with the given name.boolean
containsValue(java.lang.Object item)
Returns true if this collection contains the given item.void
create(java.lang.String name)
Defines an item with the given name and type T.<S extends T>
voidcreate(java.lang.String name, java.lang.Class<S> type)
Defines an item with the given name and type.<S extends T>
voidcreate(java.lang.String name, java.lang.Class<S> type, Action<? super S> configAction)
Defines an item with the given name and type.void
create(java.lang.String name, Action<? super T> configAction)
Defines an item with the given name and type T.T
get(java.lang.Object name)
Returns the item with the given name, if any.T
get(java.lang.String name)
Returns the item with the given name, if any.boolean
isEmpty()
Returns true if this collection contains no items.java.util.Set<java.lang.String>
keySet()
Returns the names of the items in this collection.void
named(java.lang.String name, java.lang.Class<? extends RuleSource> ruleSource)
Applies the given rule source class to the given item, when the item is required.void
named(java.lang.String name, Action<? super T> configAction)
Applies the given action to the given item, when the item is required.void
put(java.lang.String name, T instance)
Adds an element to thisModelMap
.int
size()
Returns the number of items in this collection.java.util.Collection<T>
values()
Returns the items in this collection.<S> ModelMap<S>
withType(java.lang.Class<S> type)
Returns a collection containing the items from this collection which are of the specified type.<S> void
withType(java.lang.Class<S> type, java.lang.Class<? extends RuleSource> rules)
Applies the given rules to all items of the collection of the given type.<S> void
withType(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in the collection, as each item is required.-
Methods inherited from interface org.gradle.model.ModelElement
getDisplayName, getName
-
-
-
-
Method Detail
-
withType
<S> ModelMap<S> withType(java.lang.Class<S> type)
Returns a collection containing the items from this collection which are of the specified type.- Type Parameters:
S
- The type.- Parameters:
type
- The type.- Returns:
- The collection.
-
size
int size()
Returns the number of items in this collection.- Returns:
- the size of this collection.
-
isEmpty
boolean isEmpty()
Returns true if this collection contains no items.- Returns:
- true if this collection is empty.
-
get
@Nullable T get(java.lang.Object name)
Returns the item with the given name, if any.- Parameters:
name
- The name of the item.- Returns:
- The item, or null if no such item.
-
get
@Nullable T get(java.lang.String name)
Returns the item with the given name, if any.- Parameters:
name
- The name of the item.- Returns:
- The item, or null if no such item.
-
containsKey
boolean containsKey(java.lang.Object name)
Returns true if this collection contains an item with the given name.- Parameters:
name
- The name of the item.- Returns:
- true if this collection contains an item with the given name.
-
containsValue
boolean containsValue(java.lang.Object item)
Returns true if this collection contains the given item.- Parameters:
item
- The item.- Returns:
- true if this collection contains the given item.
-
keySet
java.util.Set<java.lang.String> keySet()
Returns the names of the items in this collection.- Returns:
- The names
-
create
void create(java.lang.String name)
Defines an item with the given name and type T. The item is not created immediately, but is instead created as it is required.- Parameters:
name
- The name.
-
create
void create(java.lang.String name, Action<? super T> configAction)
Defines an item with the given name and type T. The item is not created immediately, but is instead created as it is required.The given action is invoked to configure the item when the item is required.
- Parameters:
name
- The name.configAction
- An action that initialises the item. The action is executed when the item is required.
-
create
<S extends T> void create(java.lang.String name, java.lang.Class<S> type)
Defines an item with the given name and type. The item is not created immediately, but is instead created as it is required.- Parameters:
name
- The name.
-
create
<S extends T> void create(java.lang.String name, java.lang.Class<S> type, Action<? super S> configAction)
Defines an item with the given name and type. The item is not created immediately, but is instead created as it is required.The given action is invoked to configure the item when the item is required.
- Parameters:
name
- The name.configAction
- An action that initialises the item. The action is executed when the item is required.
-
put
void put(java.lang.String name, T instance)
Adds an element to thisModelMap
.
-
named
void named(java.lang.String name, Action<? super T> configAction)
Applies the given action to the given item, when the item is required.The given action is invoked to configure the item when the item is required. It is called after any actions provided to
beforeEach(org.gradle.api.Action)
andcreate(String, org.gradle.api.Action)
.- Parameters:
name
- The name.configAction
- An action that configures the item. The action is executed when the item is required.
-
named
void named(java.lang.String name, java.lang.Class<? extends RuleSource> ruleSource)
Applies the given rule source class to the given item, when the item is required.Rules are applied in the scope of the item therefore:
- subject by-type and by-path bindings are of inner scope
- subject can be bound by type to a child of the scope in which the rule is applied
- input by-path bindings are of inner scope
- input by-type bindings are of outer scope
- Parameters:
name
- The name.ruleSource
- A rule source class.
-
beforeEach
void beforeEach(Action<? super T> configAction)
Applies the given action to each item in this collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called before any actions provided to
create(String, org.gradle.api.Action)
.- Parameters:
configAction
- An action that configures the item. The action is executed when the item is required.
-
beforeEach
<S> void beforeEach(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in this collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called before any actions provided to
create(String, org.gradle.api.Action)
.- Parameters:
type
- The type of elements to apply the action to.configAction
- An action that configures the item. The action is executed when the item is required.
-
all
void all(Action<? super T> configAction)
Applies the given action to each item in the collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called after any actions provided to
beforeEach(org.gradle.api.Action)
andcreate(String, org.gradle.api.Action)
.- Parameters:
configAction
- An action that configures the item. The action is executed when the item is required.
-
withType
<S> void withType(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in the collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called after any actions provided to
beforeEach(org.gradle.api.Action)
andcreate(String, org.gradle.api.Action)
.- Parameters:
type
- The type of elements to apply the action to.configAction
- An action that configures the item. The action is executed when the item is required.
-
withType
<S> void withType(java.lang.Class<S> type, java.lang.Class<? extends RuleSource> rules)
Applies the given rules to all items of the collection of the given type.- Parameters:
type
- the type that the item must be/implement to have the rules appliedrules
- rules to apply
-
afterEach
void afterEach(Action<? super T> configAction)
Applies the given action to each item in the collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called after any actions provided to
beforeEach(org.gradle.api.Action)
,create(String, org.gradle.api.Action)
, and other mutation methods.- Parameters:
configAction
- An action that configures the item. The action is executed when the item is required.
-
afterEach
<S> void afterEach(java.lang.Class<S> type, Action<? super S> configAction)
Applies the given action to each item of the given type in the collection, as each item is required.The given action is invoked to configure the item when the item is required. It is called after any actions provided to
beforeEach(org.gradle.api.Action)
,create(String, org.gradle.api.Action)
, and other mutation methods.- Parameters:
type
- The type of elements to apply the action to.configAction
- An action that configures the item. The action is executed when the item is required.
-
values
java.util.Collection<T> values()
Returns the items in this collection.- Returns:
- The items.
-
-