Package org.gradle.api.attributes
Interface AttributesSchema
-
@Incubating public interface AttributesSchema
An attributes schema stores information aboutattributes
and how they can be matched together.- Since:
- 3.3
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> AttributeMatchingStrategy<T>
attribute(Attribute<T> attribute)
Declares a new attribute in the schema and configures it with the default strategy.<T> AttributeMatchingStrategy<T>
attribute(Attribute<T> attribute, Action<? super AttributeMatchingStrategy<T>> configureAction)
Configures the matching strategy for an attribute.Set<Attribute<?>>
getAttributes()
Returns the set of attributes known to this schema.<T> AttributeMatchingStrategy<T>
getMatchingStrategy(Attribute<T> attribute)
Returns the matching strategy for a given attribute.boolean
hasAttribute(Attribute<?> key)
Returns true when this schema contains the given attribute.
-
-
-
Method Detail
-
getMatchingStrategy
<T> AttributeMatchingStrategy<T> getMatchingStrategy(Attribute<T> attribute) throws IllegalArgumentException
Returns the matching strategy for a given attribute.- Type Parameters:
T
- the type of the attribute- Parameters:
attribute
- the attribute- Returns:
- the matching strategy for this attribute.
- Throws:
IllegalArgumentException
- When no strategy is available for the given attribute.
-
attribute
<T> AttributeMatchingStrategy<T> attribute(Attribute<T> attribute)
Declares a new attribute in the schema and configures it with the default strategy. If the attribute was already declared it will simply return the existing strategy.- Type Parameters:
T
- the concrete type of the attribute- Parameters:
attribute
- the attribute to declare in the schema- Returns:
- the matching strategy for this attribute
-
attribute
<T> AttributeMatchingStrategy<T> attribute(Attribute<T> attribute, Action<? super AttributeMatchingStrategy<T>> configureAction)
Configures the matching strategy for an attribute. The first call to this method for a specific attribute will create a new matching strategy, whereas subsequent calls will configure the existing one.- Type Parameters:
T
- the concrete type of the attribute- Parameters:
attribute
- the attribute for which to configure the matching strategyconfigureAction
- the strategy configuration- Returns:
- the configured strategy
-
hasAttribute
boolean hasAttribute(Attribute<?> key)
Returns true when this schema contains the given attribute.
-
-