# Class BaseLanguageSourceSet

java.lang.Object
org.gradle.platform.base.component.internal.AbstractComponentSpec
org.gradle.api.internal.AbstractBuildableComponentSpec
org.gradle.language.base.internal.AbstractLanguageSourceSet
org.gradle.language.base.sources.BaseLanguageSourceSet

All Implemented Interfaces:
  `Buildable, BuildableComponentSpec, CheckableComponentSpec, Named, org.gradle.language.base.internal.LanguageSourceSetInternal, LanguageSourceSet, ModelElement, ComponentSpec, org.gradle.platform.base.internal.ComponentSpecInternal`

@Incubating public class BaseLanguageSourceSet extends org.gradle.language.base.internal.AbstractLanguageSourceSet
Base class that may be used for custom `LanguageSourceSet` 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 Named

`Named.Namer`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.gradle.api.internal.file.SourceDirectorySetFactory`
`sourceDirectorySetFactory`

## Constructor Summary

Constructors
Constructor
Description
`BaseLanguageSourceSet()`

## Method Summary

Modifier and Type
Method
Description
`static <T extends LanguageSourceSet>
T`
`create(Class<? extends LanguageSourceSet> publicType, Class<T> implementationType, org.gradle.platform.base.internal.ComponentSpecIdentifier componentId, org.gradle.api.internal.file.SourceDirectorySetFactory sourceDirectorySetFactory)`

### Methods inherited from class org.gradle.language.base.internal.AbstractLanguageSourceSet

`builtBy, generatedBy, getDisplayName, getGeneratorTask, getLanguageName, getMayHaveSources, getParentName, getProjectScopedName, getSource`

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

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

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

`getIdentifier, getName, getProjectPath, getTypeName, toString`

### Methods inherited from class Object

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

### Methods inherited from interface Buildable

`getBuildDependencies`

### Methods inherited from interface BuildableComponentSpec

`getBuildTask, hasBuildDependencies, setBuildTask`

### Methods inherited from interface ComponentSpec

`getProjectPath`

### Methods inherited from interface ModelElement

`getName`

## Field Details

### sourceDirectorySetFactory

protected final org.gradle.api.internal.file.SourceDirectorySetFactory sourceDirectorySetFactory

## Constructor Details

### BaseLanguageSourceSet

public BaseLanguageSourceSet()

## Method Details

### create

public static <T extends LanguageSourceSet> T create(Class<? extends LanguageSourceSet> publicType, Class<T> implementationType, org.gradle.platform.base.internal.ComponentSpecIdentifier componentId, org.gradle.api.internal.file.SourceDirectorySetFactory sourceDirectorySetFactory)