# Hierarchy For Package org.gradle.platform.base

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.gradle.api.GradleException
          - org.gradle.platform.base.InvalidModelException
          - org.gradle.platform.base.ModelInstantiationException

## Interface Hierarchy

- org.gradle.platform.base.Binary
- org.gradle.api.Buildable
  - org.gradle.api.BuildableModelElement
    - org.gradle.platform.base.BinarySpec (also extends org.gradle.api.Named)
      - org.gradle.platform.base.ApplicationBinarySpec
      - org.gradle.platform.base.LibraryBinarySpec
- org.gradle.model.collection.CollectionBuilder<T>
  - org.gradle.model.ModelMap<T> (also extends java.lang.Iterable<T>)
    - org.gradle.platform.base.ComponentSpecContainer
- org.gradle.api.component.Component
  - org.gradle.platform.base.Application
  - org.gradle.platform.base.Library
- org.gradle.util.Configurable<T>
  - org.gradle.api.NamedDomainObjectContainer<T> (also extends org.gradle.api.NamedDomainObjectSet<T>)
    - org.gradle.api.PolymorphicDomainObjectContainer<T>
      - org.gradle.api.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
        - org.gradle.platform.base.BinaryContainer
        - org.gradle.platform.base.PlatformContainer
- org.gradle.platform.base.DependencySpec
  - org.gradle.platform.base.DependencySpecBuilder
- org.gradle.platform.base.DependencySpecContainer
- java.lang.Iterable<T>
  - java.util.Collection<E>
    - org.gradle.api.DomainObjectCollection<T>
      - org.gradle.api.DomainObjectSet<T> (also extends java.util.Set<E>)
        - org.gradle.platform.base.BinaryTasksCollection
      - org.gradle.api.NamedDomainObjectCollection<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.PolymorphicDomainObjectContainer<T>
              - org.gradle.api.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
                - org.gradle.platform.base.BinaryContainer
                - org.gradle.platform.base.PlatformContainer
    - java.util.Set<E>
      - org.gradle.api.DomainObjectSet<T> (also extends org.gradle.api.DomainObjectCollection<T>)
        - org.gradle.platform.base.BinaryTasksCollection
      - 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.PolymorphicDomainObjectContainer<T>
            - org.gradle.api.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>)
              - org.gradle.platform.base.BinaryContainer
              - org.gradle.platform.base.PlatformContainer
  - org.gradle.model.ModelMap<T> (also extends org.gradle.model.collection.CollectionBuilder<T>)
    - org.gradle.platform.base.ComponentSpecContainer
- org.gradle.api.Named
  - org.gradle.platform.base.BinarySpec (also extends org.gradle.api.BuildableModelElement)
    - org.gradle.platform.base.ApplicationBinarySpec
    - org.gradle.platform.base.LibraryBinarySpec
  - org.gradle.platform.base.ComponentSpec
    - org.gradle.platform.base.ApplicationSpec
    - org.gradle.platform.base.LibrarySpec
    - org.gradle.platform.base.PlatformAwareComponentSpec
  - org.gradle.platform.base.ComponentSpecIdentifier
  - org.gradle.platform.base.Platform
  - org.gradle.platform.base.ToolChain
- org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<T>
  - org.gradle.api.ExtensiblePolymorphicDomainObjectContainer<T> (also extends org.gradle.api.PolymorphicDomainObjectContainer<T>)
    - org.gradle.platform.base.BinaryContainer
    - org.gradle.platform.base.PlatformContainer
- org.gradle.platform.base.ToolChainRegistry<P,T>
- org.gradle.platform.base.TransformationFileType
- org.gradle.platform.base.TypeBuilder<C>
  - org.gradle.platform.base.BinaryTypeBuilder<C>
  - org.gradle.platform.base.ComponentTypeBuilder<C>
  - org.gradle.platform.base.LanguageTypeBuilder<T>

## Annotation Type Hierarchy

- org.gradle.platform.base.Variant (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.LanguageType (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.ComponentType (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.BinaryTasks (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.ComponentBinaries (implements java.lang.annotation.Annotation)
- org.gradle.platform.base.BinaryType (implements java.lang.annotation.Annotation)