# BaselineProfileMode

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

*** ** * ** ***


```
public enum BaselineProfileMode extends Enum<@NonNull BaselineProfileMode>
```

<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) [BaselineProfileMode](https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode)\> ||
|   | ↳ | [androidx.benchmark.macro.BaselineProfileMode](https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode) |

*** ** * ** ***

Choice of how the Baseline Profile in a target application should be included or ignored during pre-compilation.

## Summary

| ### Enum Values |
|---|---|
| `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#Disable` | Do not include the Baseline Profile, if present, in the compilation of the target app. |
| `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#Require` | Require the BaselineProfile methods/classes from the target app to be pre-compiled. |
| `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#UseIfAvailable` | Include the BaselineProfile methods/classes from the target app into the compilation step if a Baseline Profile and the ProfileInstaller library are both present in the target. |

| ### 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/benchmark/macro/BaselineProfileMode>` | `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#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/benchmark/macro/BaselineProfileMode` | `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#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 BaselineProfileMode[]` | `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |

## Enum Values

### Disable

```
BaselineProfileMode BaselineProfileMode.Disable
```

Do not include the Baseline Profile, if present, in the compilation of the target app.

### Require

```
BaselineProfileMode BaselineProfileMode.Require
```

Require the BaselineProfile methods/classes from the target app to be pre-compiled.

If the ProfileInstaller library or Baseline Profile isn't present in the target app, an exception will be thrown at compilation time.

### UseIfAvailable

```
BaselineProfileMode BaselineProfileMode.UseIfAvailable
```

Include the BaselineProfile methods/classes from the target app into the compilation step if a Baseline Profile and the ProfileInstaller library are both present in the target.

This is the same as `https://developer.android.com/reference/androidx/benchmark/macro/BaselineProfileMode#Require`, except it logs instead of throwing when the Baseline Profile or ProfileInstaller library aren't present in the target application.

## Public methods

### getEntries

```
public final @NonNull EnumEntries<@NonNull BaselineProfileMode> 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/benchmark#1.1.0)

```
public static final @NonNull BaselineProfileMode 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/benchmark#1.1.0)

```
public static final @NonNull BaselineProfileMode[] 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.