Package org.gradle.platform.base

## Interface VariantComponent

- All Superinterfaces:
    `ModelElement`, `Named`
  All Known Subinterfaces:
    `ApplicationSpec`, `CUnitTestSuiteSpec`, `GeneralComponentSpec`, `GoogleTestTestSuiteSpec`, `JUnitTestSuiteSpec`, `JvmLibrarySpec`, `JvmTestSuiteSpec`, `LibrarySpec`, `NativeExecutableSpec`, `NativeLibrarySpec`, `NativeTestSuiteSpec`, `PlatformAwareComponentSpec`, `PlayApplicationSpec`, `PlayPlatformAwareComponentSpec`, `TargetedNativeComponent`, `TestSuiteSpec`, `VariantComponentSpec`
  All Known Implementing Classes:
    `BaseComponentSpec`

      @Incubating
      public interface VariantComponent
      extends ModelElement

  A component that has one or more mutually exclusive variants.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getName()` | Returns the name of this element.
    `java.lang.Iterable<? extends Binary>` | `getVariants()` | The variants of this component.

    - ### Methods inherited from interface org.gradle.model.ModelElement

      `getDisplayName`

- - ### Method Detail

    - #### getVariants

          java.lang.Iterable<? extends Binary> getVariants()

      The variants of this component.

    - #### getName

          java.lang.String getName()

      Description copied from interface: `ModelElement`
      Returns the name of this element. Each element has a name associated with it, that uniquely identifies the element amongst its siblings. Some element have their name generated or automatically assigned, and for these elements the name may not be human consumable.
      Specified by:
        `getName` in interface `ModelElement`
      Specified by:
        `getName` in interface `Named`
      Returns:
        The name. Never null.