# AnnotationProcessor

# AnnotationProcessor


```
@Incubating
public interface AnnotationProcessor
```

<br />

*** ** * ** ***

## Summary

|                                                                                                                                                                                                                                                                                                                ### Public methods                                                                                                                                                                                                                                                                                                                |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[List](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[CommandLineArgumentProvider](https://docs.gradle.org/current/javadoc/org/gradle/process/CommandLineArgumentProvider.html)`>`                                                                                                                                                                                      | [getArgumentProviders](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AnnotationProcessor#getArgumentProviders())`()` Options for the annotation processors provided via [CommandLineArgumentProvider](https://docs.gradle.org/current/javadoc/org/gradle/process/CommandLineArgumentProvider.html). |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`, @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>` | [getArguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AnnotationProcessor#getArguments())`()` Options for the annotation processors provided via key-value pairs.                                                                                                                            |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[ListProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/ListProperty.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>`                                                                                                                                                                                                           | [getClassNames](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AnnotationProcessor#getClassNames())`()` Annotation processors to run.                                                                                                                                                                |

## Public methods

### getArgumentProviders

```
abstract @NonNull List<@NonNull CommandLineArgumentProvider> getArgumentProviders()
```

Options for the annotation processors provided via [CommandLineArgumentProvider](https://docs.gradle.org/current/javadoc/org/gradle/process/CommandLineArgumentProvider.html).  

|                                                                   See also                                                                   |
|----------------------------------------------------------------------------------------------------------------------------------------------|---|
| [arguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AnnotationProcessor#arguments()) |   |

### getArguments

```
abstract @NonNull MapProperty<@NonNull String, @NonNull String> getArguments()
```

Options for the annotation processors provided via key-value pairs.  

|                                                                           See also                                                                           |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [argumentProviders](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AnnotationProcessor#argumentProviders()) |   |

### getClassNames

```
abstract @NonNull ListProperty<@NonNull String> getClassNames()
```

Annotation processors to run.

If empty, processors will be automatically discovered.