# Hierarchy For Package org.gradle.api.artifacts

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.gradle.api.artifacts.Configuration.Namer (implements org.gradle.api.Namer<T>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.gradle.api.GradleException
          - org.gradle.internal.exceptions.DefaultMultiCauseException (implements org.gradle.internal.exceptions.MultiCauseException)
            - org.gradle.api.artifacts.ResolveException
          - org.gradle.api.artifacts.PublishException
          - org.gradle.api.UnknownDomainObjectException
            - org.gradle.api.artifacts.UnknownConfigurationException
            - org.gradle.api.artifacts.UnknownRepositoryException

## Interface Hierarchy

- org.gradle.api.Action<T>
  - org.gradle.api.artifacts.ComponentMetadataSupplier
- org.gradle.api.tasks.AntBuilderAware
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.Buildable, java.lang.Iterable<T>)
    - org.gradle.api.artifacts.Configuration (also extends org.gradle.api.attributes.HasConfigurableAttributes<SELF>)
- org.gradle.api.artifacts.ArtifactIdentifier
- org.gradle.api.Buildable
  - org.gradle.api.artifacts.DependencySet (also extends org.gradle.api.DomainObjectSet<T>)
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.tasks.AntBuilderAware, java.lang.Iterable<T>)
    - org.gradle.api.artifacts.Configuration (also extends org.gradle.api.attributes.HasConfigurableAttributes<SELF>)
  - org.gradle.api.artifacts.PublishArtifact
    - org.gradle.api.artifacts.ConfigurablePublishArtifact
  - org.gradle.api.artifacts.PublishArtifactSet (also extends org.gradle.api.DomainObjectSet<T>)
  - org.gradle.api.artifacts.SelfResolvingDependency (also extends org.gradle.api.artifacts.Dependency)
    - org.gradle.api.artifacts.FileCollectionDependency
    - org.gradle.api.artifacts.ProjectDependency (also extends org.gradle.api.artifacts.ModuleDependency)
- org.gradle.api.artifacts.ComponentMetadata
  - org.gradle.api.artifacts.ComponentMetadataDetails
- org.gradle.api.artifacts.ComponentMetadataBuilder
- org.gradle.api.artifacts.ComponentMetadataSupplierDetails
- org.gradle.api.artifacts.ComponentModuleMetadata
  - org.gradle.api.artifacts.ComponentModuleMetadataDetails
- org.gradle.api.artifacts.ComponentSelection
- org.gradle.api.artifacts.ComponentSelectionRules
- org.gradle.util.Configurable<T>
  - org.gradle.api.artifacts.ArtifactRepositoryContainer (also extends org.gradle.api.NamedDomainObjectList<T>)
  - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.api.NamedDomainObjectSet<T>)
    - org.gradle.api.artifacts.ConfigurationContainer
- org.gradle.api.artifacts.Dependency
  - org.gradle.api.artifacts.ModuleDependency
    - org.gradle.api.artifacts.ExternalDependency (also extends org.gradle.api.artifacts.ModuleVersionSelector)
      - org.gradle.api.artifacts.ExternalModuleDependency
        - org.gradle.api.artifacts.ClientModule
    - org.gradle.api.artifacts.ProjectDependency (also extends org.gradle.api.artifacts.SelfResolvingDependency)
  - org.gradle.api.artifacts.SelfResolvingDependency (also extends org.gradle.api.Buildable)
    - org.gradle.api.artifacts.FileCollectionDependency
    - org.gradle.api.artifacts.ProjectDependency (also extends org.gradle.api.artifacts.ModuleDependency)
- org.gradle.api.artifacts.DependencyArtifact
- org.gradle.api.artifacts.DependencyMetadata
- org.gradle.api.artifacts.DependencyResolutionListener
- org.gradle.api.artifacts.DependencyResolveDetails
- org.gradle.api.artifacts.DependencySubstitution
- org.gradle.api.artifacts.DependencySubstitutions
- org.gradle.api.artifacts.DependencySubstitutions.Substitution
- org.gradle.api.artifacts.ExcludeRule
- org.gradle.api.artifacts.ExcludeRuleContainer
- org.gradle.api.attributes.HasAttributes
  - org.gradle.api.artifacts.ArtifactView
    - org.gradle.api.artifacts.ResolvableDependencies
  - org.gradle.api.attributes.HasConfigurableAttributes<SELF>
    - org.gradle.api.artifacts.ArtifactView.ViewConfiguration
    - org.gradle.api.artifacts.Configuration (also extends org.gradle.api.file.FileCollection)
    - org.gradle.api.artifacts.ConfigurationPublications
    - org.gradle.api.artifacts.ConfigurationVariant (also extends org.gradle.api.Named)
    - org.gradle.api.artifacts.DependencyConstraint (also extends org.gradle.api.artifacts.ModuleVersionSelector)
- java.lang.Iterable<T>
  - org.gradle.api.artifacts.ArtifactCollection
  - java.util.Collection<E>
    - org.gradle.api.artifacts.DependenciesMetadata
    - org.gradle.api.DomainObjectCollection<T>
      - org.gradle.api.DomainObjectSet<T> (also extends java.util.Set<E>)
        - org.gradle.api.artifacts.DependencySet (also extends org.gradle.api.Buildable)
        - org.gradle.api.artifacts.PublishArtifactSet (also extends org.gradle.api.Buildable)
      - org.gradle.api.NamedDomainObjectCollection<T>
        - org.gradle.api.NamedDomainObjectList<T> (also extends java.util.List<E>)
          - org.gradle.api.artifacts.ArtifactRepositoryContainer (also extends org.gradle.util.Configurable<T>)
        - org.gradle.api.NamedDomainObjectSet<T> (also extends java.util.Set<E>)
          - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.util.Configurable<T>)
            - org.gradle.api.artifacts.ConfigurationContainer
    - java.util.SequencedCollection<E>
      - java.util.List<E>
        - org.gradle.api.NamedDomainObjectList<T> (also extends org.gradle.api.NamedDomainObjectCollection<T>)
          - org.gradle.api.artifacts.ArtifactRepositoryContainer (also extends org.gradle.util.Configurable<T>)
    - java.util.Set<E>
      - org.gradle.api.DomainObjectSet<T> (also extends org.gradle.api.DomainObjectCollection<T>)
        - org.gradle.api.artifacts.DependencySet (also extends org.gradle.api.Buildable)
        - org.gradle.api.artifacts.PublishArtifactSet (also extends org.gradle.api.Buildable)
      - org.gradle.api.NamedDomainObjectSet<T> (also extends org.gradle.api.NamedDomainObjectCollection<T>)
        - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.util.Configurable<T>)
          - org.gradle.api.artifacts.ConfigurationContainer
  - org.gradle.api.file.FileCollection (also extends org.gradle.api.tasks.AntBuilderAware, org.gradle.api.Buildable)
    - org.gradle.api.artifacts.Configuration (also extends org.gradle.api.attributes.HasConfigurableAttributes<SELF>)
- org.gradle.api.artifacts.LenientConfiguration
- org.gradle.api.artifacts.ModuleVersionSelector
  - org.gradle.api.artifacts.DependencyConstraint (also extends org.gradle.api.attributes.HasConfigurableAttributes<SELF>)
  - org.gradle.api.artifacts.ExternalDependency (also extends org.gradle.api.artifacts.ModuleDependency)
    - org.gradle.api.artifacts.ExternalModuleDependency
      - org.gradle.api.artifacts.ClientModule
- org.gradle.api.Named
  - org.gradle.api.artifacts.ConfigurationVariant (also extends org.gradle.api.attributes.HasConfigurableAttributes<SELF>)
- org.gradle.api.artifacts.ResolutionStrategy
- org.gradle.api.artifacts.ResolvedArtifact
- org.gradle.api.artifacts.ResolvedConfiguration
- org.gradle.api.artifacts.ResolvedDependency
- org.gradle.api.artifacts.ResolvedModuleVersion
- java.io.Serializable
  - org.gradle.api.artifacts.ModuleIdentifier
  - org.gradle.api.artifacts.ModuleVersionIdentifier
- org.gradle.api.artifacts.UnresolvedDependency
- org.gradle.api.artifacts.VariantMetadata
- org.gradle.api.artifacts.VersionConstraint
  - org.gradle.api.artifacts.MutableVersionConstraint

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.gradle.api.artifacts.Configuration.State
    - org.gradle.api.artifacts.ResolutionStrategy.SortOrder