# RoomDatabase.JournalMode

Artifact: [androidx.room:room-runtime](https://developer.android.com/jetpack/androidx/releases/room) [View Source](https://cs.android.com/search?q=file:androidx/room/RoomDatabase.+class:androidx.room.RoomDatabase.JournalMode) Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/room#2.0.0)

*** ** * ** ***


```
public enum RoomDatabase.JournalMode extends Enum<@NonNull RoomDatabase.JournalMode>
```

<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) [RoomDatabase.JournalMode](https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode)\> ||
|   | ↳ | [androidx.room.RoomDatabase.JournalMode](https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode) |

*** ** * ** ***

Journal modes for SQLite database.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/room/RoomDatabase.Builder` | #setJournalMode |

## Summary

| ### Enum Values |
|---|---|
| `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#AUTOMATIC` | Let Room choose the journal mode. |
| `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#TRUNCATE` | Truncate journal mode. |
| `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#WRITE_AHEAD_LOGGING` | Write-Ahead Logging mode. |

| ### 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/room/RoomDatabase.JournalMode>` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#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. |
| `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/room/RoomDatabase.JournalMode>` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#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/room/RoomDatabase.JournalMode` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#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 https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#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 RoomDatabase.JournalMode[]` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull RoomDatabase.JournalMode[]` | `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |

## Enum Values

### AUTOMATIC

```
RoomDatabase.JournalMode RoomDatabase.JournalMode.AUTOMATIC
```

Let Room choose the journal mode. This is the default value when no explicit value is specified.

The actual value will be `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#TRUNCATE` when the device runs API Level lower than 16 or it is a low-RAM device. Otherwise, `https://developer.android.com/reference/androidx/room/RoomDatabase.JournalMode#WRITE_AHEAD_LOGGING` will be used.

### TRUNCATE

```
RoomDatabase.JournalMode RoomDatabase.JournalMode.TRUNCATE
```

Truncate journal mode.

### WRITE_AHEAD_LOGGING

```
RoomDatabase.JournalMode RoomDatabase.JournalMode.WRITE_AHEAD_LOGGING
```

Write-Ahead Logging mode.

## Public methods

### getEntries

```
public final @NonNull EnumEntries<@NonNull RoomDatabase.JournalMode> 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.

### getEntries

```
public final @NonNull EnumEntries<@NonNull RoomDatabase.JournalMode> 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 [2.0.0](https://developer.android.com/jetpack/androidx/releases/room#2.0.0)

```
public static final @NonNull RoomDatabase.JournalMode 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 |

### valueOf

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

```
public static final @NonNull RoomDatabase.JournalMode 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 [2.0.0](https://developer.android.com/jetpack/androidx/releases/room#2.0.0)

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

### values

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

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