Package: org.gradle.platform.base.binary

## [Java] Class BaseBinarySpec

- org.gradle.platform.base.binary.BaseBinarySpec

- All Implemented Interfaces and Traits:
    org.gradle.platform.base.internal.BinarySpecInternal

      @Incubating
      // Needs to be here instead of the specific methods, because Java 6 and 7 will throw warnings otherwise
      @SuppressWarnings("deprecation")
      public abstract class BaseBinarySpec
      extends org.gradle.api.internal.AbstractBuildableModelElement

  Base class for custom binary implementations. A custom implementation of BinarySpec must extend this type. TODO at the moment leaking BinarySpecInternal here to generate lifecycleTask in LanguageBasePlugin$createLifecycleTaskForBinary#createLifecycleTaskForBinary rule

- - ### Constructor Summary

    Constructors
    Constructor and description
    `protected BaseBinarySpec ()`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `static T` | `create(Class<? extends BinarySpec> publicType, Class<T> implementationType, String name, org.gradle.internal.reflect.Instantiator instantiator, org.gradle.api.internal.project.taskfactory.ITaskFactory taskFactory)`
    `protected org.gradle.platform.base.internal.BinaryBuildAbility` | `getBinaryBuildAbility()`
    `org.gradle.platform.base.internal.BinaryBuildAbility` | `getBuildAbility()`
    `String` | `getDisplayName()`
    `org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<LanguageSourceSet>` | `getEntityInstantiator()`
    `DomainObjectSet<LanguageSourceSet>` | `getInputs()`
    `String` | `getName()`
    `Class<? extends BinarySpec>` | `getPublicType()`
    `DomainObjectSet<LanguageSourceSet>` | `getSource()`
    `ModelMap<LanguageSourceSet>` | `getSources()`
    `BinaryTasksCollection` | `getTasks()`
    `protected String` | `getTypeName()`
    `boolean` | `isBuildable()`
    `boolean` | `isLegacyBinary()`
    `void` | `setBuildable(boolean buildable)`
    `void` | `setPublicType(Class<? extends BinarySpec> publicType)`
    `void` | `sources(Action<? super ModelMap<LanguageSourceSet>> action)`
    `void` | `tasks(Action<? super BinaryTasksCollection> action)`
    `String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.gradle.api.internal.AbstractBuildableModelElement` | `org.gradle.api.internal.AbstractBuildableModelElement#getBuildDependencies(), org.gradle.api.internal.AbstractBuildableModelElement#builtBy([Ljava.lang.Object;), org.gradle.api.internal.AbstractBuildableModelElement#getBuildTask(), org.gradle.api.internal.AbstractBuildableModelElement#setBuildTask(org.gradle.api.Task), org.gradle.api.internal.AbstractBuildableModelElement#hasBuildDependencies(), org.gradle.api.internal.AbstractBuildableModelElement#wait(long, int), org.gradle.api.internal.AbstractBuildableModelElement#wait(long), org.gradle.api.internal.AbstractBuildableModelElement#wait(), org.gradle.api.internal.AbstractBuildableModelElement#equals(java.lang.Object), org.gradle.api.internal.AbstractBuildableModelElement#toString(), org.gradle.api.internal.AbstractBuildableModelElement#hashCode(), org.gradle.api.internal.AbstractBuildableModelElement#getClass(), org.gradle.api.internal.AbstractBuildableModelElement#notify(), org.gradle.api.internal.AbstractBuildableModelElement#notifyAll()`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Constructor Detail

    - #### protected BaseBinarySpec()

  - ### Method Detail

    - #### public static T create(Class<? extends BinarySpec> publicType, Class<T> implementationType, String name, org.gradle.internal.reflect.Instantiator instantiator, org.gradle.api.internal.project.taskfactory.ITaskFactory taskFactory)

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

    - #### @Override public final org.gradle.platform.base.internal.BinaryBuildAbility getBuildAbility()

    - #### public String getDisplayName()

    - #### @Override public org.gradle.api.internal.rules.NamedDomainObjectFactoryRegistry<LanguageSourceSet> getEntityInstantiator()

    - #### @Override public DomainObjectSet<LanguageSourceSet> getInputs()

    - #### public String getName()

    - #### @Override public Class<? extends BinarySpec> getPublicType()

    - #### @Override public DomainObjectSet<LanguageSourceSet> getSource()

    - #### @Override public ModelMap<LanguageSourceSet> getSources()

    - #### public BinaryTasksCollection getTasks()

    - #### protected String getTypeName()

    - #### public final boolean isBuildable()

    - #### public boolean isLegacyBinary()

    - #### @Override public void setBuildable(boolean buildable)

    - #### @Override public void setPublicType(Class<? extends BinarySpec> publicType)

    - #### public void sources(Action<? super ModelMap<LanguageSourceSet>> action)

    - #### @Override public void tasks(Action<? super BinaryTasksCollection> action)

    - #### @Override public String toString()