# ArtifactKind

# ArtifactKind


```
public sealed class ArtifactKind<T extends FileSystemLocation> implements Serializable
```

<br />

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

|---------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind.DIRECTORY) |   |
| [ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind.FILE)           |   |

*** ** * ** ***

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

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

## Summary

|                                                                                                                                                ### Nested types                                                                                                                                                 |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `public static class `[ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind.DIRECTORY)` extends `[ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind) |
| `public static class `[ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind.FILE)` extends `[ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind)           |

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

|                                                                                                                                                        ### Public methods                                                                                                                                                         |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` T>` | [dataType](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/artifact/ArtifactKind#dataType())`()` |

## Protected constructors

### ArtifactKind

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

## Public methods

### dataType

```
public abstract @NonNull KClass<@NonNull T> dataType()
```  

|                                                                                                                                                         Returns                                                                                                                                                          |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` T>` | The data type used by Gradle to represent the file abstraction for this artifact kind. |