Package org.gradle.api.attributes
Interface AttributeContainer
- All Superinterfaces:
HasAttributes
An attribute container is a container of
attributes
, which are
strongly typed named entities. Such a container is responsible for storing and
getting attributes in a type safe way. In particular, attributes are strongly typed,
meaning that when we get a value from the container, the returned value type is
inferred from the type of the attribute. In a way, an attribute container is
similar to a Map
where the entry is a "typed String" and the value
is of the string type. However, the set of methods available to the container is
much more limited.
It is not allowed to have two attributes with the same name but different types in
the container.- Since:
- 3.3
-
Method Summary
Modifier and TypeMethodDescriptionSets an attribute value.attributeProvider
(Attribute<T> key, Provider<? extends T> provider) Sets an attribute to have the same value as the given provider.boolean
Tells if a specific attribute is found in this container.<T> T
getAttribute
(Attribute<T> key) Returns the value of an attribute found in this container, ornull
if this container doesn't have it.boolean
isEmpty()
Returns true if this container is empty.keySet()
Returns the set of attribute keys of this container.Methods inherited from interface org.gradle.api.attributes.HasAttributes
getAttributes
-
Method Details
-
keySet
Returns the set of attribute keys of this container.- Returns:
- the set of attribute keys.
-
attribute
Sets an attribute value. It is not allowed to usenull
as an attribute value.- Type Parameters:
T
- the type of the attribute- Parameters:
key
- the attribute keyvalue
- the attribute value- Returns:
- this container
-
attributeProvider
Sets an attribute to have the same value as the given provider. This attribute will track the value of the provider and query its value when this container is finalized.This method can NOT be used to discard the value of an property. Specifying a
null
provider will result in anIllegalArgumentException
being thrown. When the provider has no value at finalization time, anIllegalStateException
- regardless of whether or not a convention has been set.- Type Parameters:
T
- the type of the attribute- Parameters:
key
- the attribute keyprovider
- The provider whose value to use- Returns:
- this container
- Since:
- 7.4
-
getAttribute
Returns the value of an attribute found in this container, ornull
if this container doesn't have it.- Type Parameters:
T
- the type of the attribute- Parameters:
key
- the attribute key- Returns:
- the attribute value, or null if not found
-
isEmpty
boolean isEmpty()Returns true if this container is empty.- Returns:
- true if this container is empty.
-
contains
Tells if a specific attribute is found in this container.- Parameters:
key
- the key of the attribute- Returns:
- true if this attribute is found in this container.
-