# PagingSourceFactory

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

*** ** * ** ***


```
public fun interface PagingSourceFactory<Key extends Object, Value extends Object>
```

<br />

Known direct subclasses [InvalidatingPagingSourceFactory](https://developer.android.com/reference/androidx/paging/InvalidatingPagingSourceFactory)

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

*** ** * ** ***

Interface for a factory that generates `https://developer.android.com/reference/androidx/paging/PagingSource`.

The factory extending this interface can be used to instantiate a `https://developer.android.com/reference/androidx/paging/Pager` as the pagingSourceFactory.

## Summary

| ### Public methods |
|---|---|
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/paging/PagingSource<@https://developer.android.com/reference/androidx/annotation/NonNull Key, @https://developer.android.com/reference/androidx/annotation/NonNull Value>` | `https://developer.android.com/reference/androidx/paging/PagingSourceFactory#invoke()()` Returns a new PagingSource instance. |

## Public methods

### invoke

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

```
abstract @NonNull PagingSource<@NonNull Key, @NonNull Value> invoke()
```

Returns a new PagingSource instance.

This function can be invoked by calling pagingSourceFactory() or pagingSourceFactory::invoke.