# InvalidatingPagingSourceFactory

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

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOSJavaScript
- Cmn

  ```
  class InvalidatingPagingSourceFactory<Key : Any, Value : Any> : PagingSourceFactory<Key, Value>
  ```

*** ** * ** ***

Wrapper class for a `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource` factory intended for usage in `https://developer.android.com/reference/kotlin/androidx/paging/Pager` construction.

Calling `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invalidate()` on this `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory` will forward invalidate signals to all active `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource`s that were produced by calling `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invoke()`.

This class is thread-safe for concurrent calls to any mutative operations including both `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invoke()` and `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invalidate()`.

## Summary

| ### Public constructors |
|---|---|
| `<Key : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html, Value : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#InvalidatingPagingSourceFactory(kotlin.Function0)( pagingSourceFactory: () -> https://developer.android.com/reference/kotlin/androidx/paging/PagingSource<Key, Value> )` | Cmn |

| ### Public functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invalidate()()` Calls `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource#invalidate()` on each `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource` that was produced by this `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory` | Cmn |
| `open operator https://developer.android.com/reference/kotlin/androidx/paging/PagingSource<Key, Value>` | `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invoke()()` | Cmn |

## Public constructors

### InvalidatingPagingSourceFactory

Cmn

```
<Key : Any, Value : Any> InvalidatingPagingSourceFactory(
    pagingSourceFactory: () -> PagingSource<Key, Value>
)
```

| Parameters |
|---|---|
| `pagingSourceFactory: () -> https://developer.android.com/reference/kotlin/androidx/paging/PagingSource<Key, Value>` | The `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource` factory that returns a PagingSource when called |

## Public functions

### invalidate

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
fun invalidate(): Unit
```

Calls `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource#invalidate()` on each `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource` that was produced by this `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory`

### invoke

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
open operator fun invoke(): PagingSource<Key, Value>
```

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource<Key, Value>` | `https://developer.android.com/reference/kotlin/androidx/paging/PagingSource` which will be invalidated when this factory's `https://developer.android.com/reference/kotlin/androidx/paging/InvalidatingPagingSourceFactory#invalidate()` method is called |