# Package org.gradle.api.attributes

@NonNullApi package org.gradle.api.attributes
Classes for dealing with configuration and artifact attributes.

Related Packages
Package
Description
org.gradle.api
Start Here: Gradle's `Project` API, which is available from your build files.
Class
Description
Attribute<T>
An attribute is a named entity with a type.
AttributeCompatibilityRule<T>
A rule that determines whether a given attribute value is compatible some provided attribute value.
AttributeContainer
An attribute container is a container of `attributes`, which are strongly typed named entities.
AttributeDisambiguationRule<T>
A rule that selects the best value out of a set of two or more candidates.
AttributeMatchingStrategy<T>
An attribute matching strategy is responsible for providing information about how an `Attribute` is matched during dependency resolution.
AttributesSchema
An attributes schema stores information about `attributes` and how they can be matched together.
CompatibilityCheckDetails<T>
Provides context about attribute compatibility checks, and allows the user to define when an attribute is compatible with another.
CompatibilityRuleChain<T>
A chain of compatibility checks, implemented as action rules.
DisambiguationRuleChain<T>
A chain of disambiguation rules.
HasAttributes
Represents something that carries attributes by utilizing an `AttributeContainer`
HasConfigurableAttributes<SELF>
Represents something that carries attributes by utilizing an `AttributeContainer` that is configurable.
MultipleCandidatesDetails<T>
Provides context about candidates for an attribute.
Usage
Represents the usage of a configuration.