# ArtifactKind

[View Source](https://cs.android.com/search?q=file:com/android/build/api/artifact/ArtifactKind.kt+class:com.android.build.api.artifact.ArtifactKind) Added in 4.2.0


```
sealed class ArtifactKind<T : FileSystemLocation> : Serializable
```

<br />

Known direct subclasses [ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.DIRECTORY), [ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.FILE)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.DIRECTORY` | A type of artifact file that is a `https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html` |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.FILE` | A Type of artifact that is a `https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html` |

*** ** * ** ***

Exhaustive list of artifact file representations supported by the Android Gradle plugin.

As of now, only `https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html` represented by `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.FILE` and `https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html` represented by `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.DIRECTORY` are supported.

## Summary

| ### Nested types |
|---|
| `object https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.DIRECTORY : https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind<https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html>` A type of artifact file that is a `https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html` |
| `object https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind.FILE : https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind<https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html>` A Type of artifact that is a `https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html` |

| ### Protected constructors |
|---|
| `<T : https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html> https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind#ArtifactKind()()` |

| ### Public functions |
|---|---|
| `abstract https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html<T>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/ArtifactKind#dataType()()` |

## Protected constructors

### ArtifactKind

```
protected <T : FileSystemLocation> ArtifactKind()
```

## Public functions

### dataType

Added in 4.2.0

```
abstract fun dataType(): KClass<T>
```

| Returns |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html<T>` | The data type used by Gradle to represent the file abstraction for this artifact kind. |