@NonNullApi

# Package org.gradle.api.attributes

Classes for dealing with configuration and artifact attributes.

- Interface Summary
  Interface | Description
  --- | ---
  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.
  Bundling | This attribute describes how dependencies of a component are found.
  Category | This attribute describes the categories of variants for a given module.
  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.
  DocsType | Attributes to qualify the type of documentation.
  HasAttributes | Represents something that carries attributes by utilizing an `AttributeContainer`
  HasConfigurableAttributes<SELF> | Represents something that carries attributes by utilizing an `AttributeContainer` that is configurable.
  LibraryElements | Attribute representing the technical elements of a library variant.
  MultipleCandidatesDetails<T> | Provides context about candidates for an attribute.
  Usage | Represents the usage of a configuration.

- Class Summary
  Class | Description
  --- | ---
  Attribute<T> | An attribute is a named entity with a type.