# TerminalSeparatorType

Artifact: [androidx.paging:paging-common](https://developer.android.com/jetpack/androidx/releases/paging) [View Source](https://cs.android.com/search?q=file:androidx/paging/Separators.kt+class:androidx.paging.TerminalSeparatorType) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

*** ** * ** ***


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

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

*** ** * ** ***

Mode for configuring when terminal separators (header and footer) would be displayed by the `https://developer.android.com/reference/androidx/paging/package-summary#(androidx.paging.PagingData).insertSeparators(androidx.paging.TerminalSeparatorType,kotlin.coroutines.SuspendFunction2)`, `https://developer.android.com/reference/androidx/paging/package-summary#(androidx.paging.PagingData).insertHeaderItem(androidx.paging.TerminalSeparatorType,kotlin.Any)` or `https://developer.android.com/reference/androidx/paging/package-summary#(androidx.paging.PagingData).insertFooterItem(androidx.paging.TerminalSeparatorType,kotlin.Any)` operators on `https://developer.android.com/reference/androidx/paging/PagingData`.

## Summary

| ### Enum Values |
|---|---|
| `https://developer.android.com/reference/androidx/paging/TerminalSeparatorType#FULLY_COMPLETE` | Show terminal separators (header and footer) when both `https://developer.android.com/reference/androidx/paging/PagingSource` and `https://developer.android.com/reference/androidx/paging/RemoteMediator` reaches the end of pagination. |
| `https://developer.android.com/reference/androidx/paging/TerminalSeparatorType#SOURCE_COMPLETE` | Show terminal separators (header and footer) as soon as `https://developer.android.com/reference/androidx/paging/PagingSource` reaches the end of pagination, regardless of `https://developer.android.com/reference/androidx/paging/RemoteMediator`'s state. |

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

## Enum Values

### FULLY_COMPLETE

```
TerminalSeparatorType TerminalSeparatorType.FULLY_COMPLETE
```

Show terminal separators (header and footer) when both `https://developer.android.com/reference/androidx/paging/PagingSource` and `https://developer.android.com/reference/androidx/paging/RemoteMediator` reaches the end of pagination.

End of paginations occurs when `https://developer.android.com/reference/androidx/paging/CombinedLoadStates` has set `https://developer.android.com/reference/androidx/paging/LoadState#endOfPaginationReached()` to `true` for both `https://developer.android.com/reference/androidx/paging/CombinedLoadStates#source()` and `https://developer.android.com/reference/androidx/paging/CombinedLoadStates#mediator()` in the `https://developer.android.com/reference/androidx/paging/LoadType#PREPEND` direction for the header and in the `https://developer.android.com/reference/androidx/paging/LoadType#APPEND` direction for the footer.

In cases where `https://developer.android.com/reference/androidx/paging/RemoteMediator` isn't used, only `https://developer.android.com/reference/androidx/paging/CombinedLoadStates#source()` will be considered.

### SOURCE_COMPLETE

```
TerminalSeparatorType TerminalSeparatorType.SOURCE_COMPLETE
```

Show terminal separators (header and footer) as soon as `https://developer.android.com/reference/androidx/paging/PagingSource` reaches the end of pagination, regardless of `https://developer.android.com/reference/androidx/paging/RemoteMediator`'s state.

End of paginations occurs when `https://developer.android.com/reference/androidx/paging/CombinedLoadStates` has set `https://developer.android.com/reference/androidx/paging/LoadState#endOfPaginationReached()` to `true` for `https://developer.android.com/reference/androidx/paging/CombinedLoadStates#source()` in the `https://developer.android.com/reference/androidx/paging/LoadType#PREPEND` direction for the header and in the `https://developer.android.com/reference/androidx/paging/LoadType#APPEND` direction for the footer.

## Public methods

### getEntries

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

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

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