# RequiresOptIn.Level

Artifact: [androidx.annotation:annotation-experimental](https://developer.android.com/jetpack/androidx/releases/annotation) [View Source](https://cs.android.com/search?q=file:androidx/annotation/RequiresOptIn.kt+class:androidx.annotation.RequiresOptIn.Level) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/annotation#1.1.0)

*** ** * ** ***


```
public enum RequiresOptIn.Level extends Enum<@NonNull RequiresOptIn.Level>
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [kotlin.Enum](https://developer.android.com/reference/java/lang/Enum.html)\<@[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull) [RequiresOptIn.Level](https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level)\> ||
|   | ↳ | [androidx.annotation.RequiresOptIn.Level](https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level) |

*** ** * ** ***

Severity of the diagnostic that should be reported on usages of opt-in API which did not explicitly accept the opt-in aspect of that API either by:

- Propagating the opt-in aspect by annotating the usage with the marker annotation, thus becoming part of the marked opt-in API surface *or*
- Suppressing propagation of the opt-in aspect by annotating the usage with \[OptIn\] and specifying the marker annotation

  ## Summary

  | ### Enum Values |
  |---|---|
  | `https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level#ERROR` | Specifies that an error should be reported on incorrect usages of this opt-in API. |
  | `https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level#WARNING` | Specifies that a warning should be reported on incorrect usages of this opt-in API. |

  | ### Public methods |
  |---|---|
  | `final @https://developer.android.com/reference/androidx/annotation/NonNull https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level>` | `https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level#getEntries()()` Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared. |
  | `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level` | `https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level#valueOf(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html value)` Returns the enum constant of this type with the specified name. |
  | `static final @https://developer.android.com/reference/androidx/annotation/NonNull RequiresOptIn.Level[]` | `https://developer.android.com/reference/androidx/annotation/RequiresOptIn.Level#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |

  ## Enum Values

  ### ERROR

  ```
  RequiresOptIn.Level RequiresOptIn.Level.ERROR
  ```

  Specifies that an error should be reported on incorrect usages of this opt-in API.

  ### WARNING

  ```
  RequiresOptIn.Level RequiresOptIn.Level.WARNING
  ```

  Specifies that a warning should be reported on incorrect usages of this opt-in API.

  ## Public methods

  ### getEntries

  ```
  public final @NonNull EnumEntries<@NonNull RequiresOptIn.Level> getEntries()
  ```

  Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared.

  ### valueOf

  Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/annotation#1.1.0)

  ```
  public static final @NonNull RequiresOptIn.Level valueOf(@NonNull String value)
  ```

  Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

  | Throws |
  |---|---|
  | `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if this enum type has no constant with the specified name |

  ### values

  Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/annotation#1.1.0)

  ```
  public static final @NonNull RequiresOptIn.Level[] values()
  ```

  Returns an array containing the constants of this enum type, in the order they're declared.

  This method may be used to iterate over the constants.

  The function returns a new instance of the array on every call. The array could be mutated, so working with it may also require defensive copying. Consider using `entries` property as a more efficient alternative returning an immutable list of enum entries.