Package org.gradle.platform.base.binary

## Class BaseBinarySpec

- java.lang.Object
- - org.gradle.platform.base.component.internal.AbstractComponentSpec
  - - org.gradle.api.internal.AbstractBuildableComponentSpec
    - - org.gradle.platform.base.binary.BaseBinarySpec

- All Implemented Interfaces:
    `Buildable`, `BuildableComponentSpec`, `CheckableComponentSpec`, `Named`, `ModelElement`, `Binary`, `BinarySpec`, `ComponentSpec`, `org.gradle.platform.base.internal.BinarySpecInternal`, `org.gradle.platform.base.internal.ComponentSpecInternal`

      @Incubating
      public class BaseBinarySpec
      extends org.gradle.api.internal.AbstractBuildableComponentSpec
      implements org.gradle.platform.base.internal.BinarySpecInternal

  Base class that may be used for custom `BinarySpec` implementations. However, it is generally better to use an interface annotated with `Managed` and not use an implementation class at all.

- - ### Nested Class Summary

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

      `Named.Namer`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BaseBinarySpec()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T extends BaseBinarySpec> T` | `create​(Class<? extends BinarySpec> publicType, Class<T> implementationType, org.gradle.platform.base.internal.ComponentSpecIdentifier componentId, org.gradle.model.internal.core.MutableModelNode modelNode, org.gradle.model.internal.core.MutableModelNode componentNode, org.gradle.internal.reflect.Instantiator instantiator, org.gradle.model.internal.core.NamedEntityInstantiator<Task> taskInstantiator, org.gradle.api.internal.CollectionCallbackActionDecorator collectionCallbackActionDecorator, org.gradle.api.internal.collections.DomainObjectCollectionFactory domainObjectCollectionFactory)` | Creates a `BaseBinarySpec`.
    `protected org.gradle.platform.base.internal.BinaryBuildAbility` | `getBinaryBuildAbility()` |
    `org.gradle.platform.base.internal.BinaryBuildAbility` | `getBuildAbility()` |
    `ComponentSpec` | `getComponent()` |
    `protected <T extends ComponentSpec> T` | `getComponentAs​(Class<T> componentType)` |
    `LibraryBinaryIdentifier` | `getId()` |
    `DomainObjectSet<LanguageSourceSet>` | `getInputs()` | Returns all inputs of the binary.
    `org.gradle.platform.base.internal.BinaryNamingScheme` | `getNamingScheme()` |
    `String` | `getProjectScopedName()` |
    `Class<? extends BinarySpec>` | `getPublicType()` |
    `ModelMap<LanguageSourceSet>` | `getSources()` | The sources owned by this binary.
    `BinaryTasksCollection` | `getTasks()` | The set of tasks associated with this binary.
    `boolean` | `hasCodependentSources()` |
    `boolean` | `isBuildable()` | Can this binary be built in the current environment?
    `boolean` | `isLegacyBinary()` |
    `static void` | `replaceSingleDirectory​(Set<File> dirs, File dir)` |
    `void` | `setBuildable​(boolean buildable)` |
    `void` | `setNamingScheme​(org.gradle.platform.base.internal.BinaryNamingScheme namingScheme)` |

    - ### Methods inherited from class org.gradle.api.internal.AbstractBuildableComponentSpec

      `builtBy, checkedBy, getBuildDependencies, getBuildTask, getCheckTask, hasBuildDependencies, setBuildTask, setCheckTask`

    - ### Methods inherited from class org.gradle.platform.base.component.internal.AbstractComponentSpec

      `getDisplayName, getIdentifier, getName, getProjectPath, getTypeName, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.gradle.platform.base.Binary

      `getDisplayName`

    - ### Methods inherited from interface org.gradle.api.Buildable

      `getBuildDependencies`

    - ### Methods inherited from interface org.gradle.api.BuildableComponentSpec

      `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

    - ### Methods inherited from interface org.gradle.api.CheckableComponentSpec

      `checkedBy, getCheckTask, setCheckTask`

    - ### Methods inherited from interface org.gradle.platform.base.ComponentSpec

      `getProjectPath`

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

      `getDisplayName, getName`

- - ### Constructor Detail

    - #### BaseBinarySpec

          public BaseBinarySpec()

  - ### Method Detail

    - #### create

          public static <T extends BaseBinarySpec> T create​(Class<? extends BinarySpec> publicType,
                                                            Class<T> implementationType,
                                                            org.gradle.platform.base.internal.ComponentSpecIdentifier componentId,
                                                            org.gradle.model.internal.core.MutableModelNode modelNode,
                                                            @Nullable
                                                            org.gradle.model.internal.core.MutableModelNode componentNode,
                                                            org.gradle.internal.reflect.Instantiator instantiator,
                                                            org.gradle.model.internal.core.NamedEntityInstantiator<Task> taskInstantiator,
                                                            org.gradle.api.internal.CollectionCallbackActionDecorator collectionCallbackActionDecorator,
                                                            org.gradle.api.internal.collections.DomainObjectCollectionFactory domainObjectCollectionFactory)

      Creates a `BaseBinarySpec`.
      Since:
        5.6

    - #### getId

          public LibraryBinaryIdentifier getId()

      Specified by:
        `getId` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getPublicType

          public Class<? extends BinarySpec> getPublicType()

      Specified by:
        `getPublicType` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getComponent

          @Nullable
          public ComponentSpec getComponent()

      Specified by:
        `getComponent` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getComponentAs

          @Nullable
          protected <T extends ComponentSpec> T getComponentAs​(Class<T> componentType)

    - #### getProjectScopedName

          public String getProjectScopedName()

      Specified by:
        `getProjectScopedName` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### setBuildable

          public void setBuildable​(boolean buildable)

      Specified by:
        `setBuildable` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### isBuildable

          public final boolean isBuildable()

      Description copied from interface: `BinarySpec`
      Can this binary be built in the current environment?
      Specified by:
        `isBuildable` in interface `BinarySpec`

    - #### getInputs

          public DomainObjectSet<LanguageSourceSet> getInputs()

      Description copied from interface: `BinarySpec`
      Returns all inputs of the binary. This includes source sets owned by the binary, and other source sets created elsewhere (e.g. inherited from the binary's component).
      Specified by:
        `getInputs` in interface `BinarySpec`
      Returns:
        all inputs of the binary.

    - #### getSources

          public ModelMap<LanguageSourceSet> getSources()

      Description copied from interface: `BinarySpec`
      The sources owned by this binary.
      Specified by:
        `getSources` in interface `BinarySpec`
      Returns:
        the sources owned by the binary.

    - #### getTasks

          public BinaryTasksCollection getTasks()

      Description copied from interface: `BinarySpec`
      The set of tasks associated with this binary.
      Specified by:
        `getTasks` in interface `BinarySpec`

    - #### isLegacyBinary

          public boolean isLegacyBinary()

      Specified by:
        `isLegacyBinary` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getNamingScheme

          public org.gradle.platform.base.internal.BinaryNamingScheme getNamingScheme()

      Specified by:
        `getNamingScheme` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### setNamingScheme

          public void setNamingScheme​(org.gradle.platform.base.internal.BinaryNamingScheme namingScheme)

      Specified by:
        `setNamingScheme` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### hasCodependentSources

          public boolean hasCodependentSources()

      Specified by:
        `hasCodependentSources` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getBuildAbility

          public final org.gradle.platform.base.internal.BinaryBuildAbility getBuildAbility()

      Specified by:
        `getBuildAbility` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getBinaryBuildAbility

          protected org.gradle.platform.base.internal.BinaryBuildAbility getBinaryBuildAbility()

    - #### replaceSingleDirectory

          public static void replaceSingleDirectory​(Set<File> dirs,
                                                    File dir)