# LivePagedListBuilder

Summary: [Ctors](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#pubctors) \| [Methods](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#inhmethods)  

# LivePagedListBuilder

| The `android.arch` Architecture Components packages are no longer maintained. They have been superseded by the corresponding [androidx.\*](https://developer.android.com/jetpack/androidx/migrate) packages. See [androidx.paging.LivePagedListBuilder](https://developer.android.com/reference/androidx/paging/LivePagedListBuilder) instead.


`
public

final

class
LivePagedListBuilder
`


`

extends Object


`

`


`

|---|--------------------------------------------------------|
| java.lang.Object                                          ||
| ↳ | android.arch.paging.LivePagedListBuilder\<Key, Value\> |

<br />

*** ** * ** ***

Builder for `LiveData<PagedList>`, given a [DataSource.Factory](https://developer.android.com/reference/android/arch/paging/DataSource.Factory) and a
[PagedList.Config](https://developer.android.com/reference/android/arch/paging/PagedList.Config).


The required parameters are in the constructor, so you can simply construct and build, or
optionally enable extra features (such as initial load key, or BoundaryCallback).

## Summary

|                                                                                                                                                                                                                                                     ### Public constructors                                                                                                                                                                                                                                                     ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#LivePagedListBuilder(android.arch.paging.DataSource.Factory<Key, Value>, android.arch.paging.PagedList.Config))`(`[Factory](https://developer.android.com/reference/android/arch/paging/DataSource.Factory)`<Key, Value> dataSourceFactory, `[PagedList.Config](https://developer.android.com/reference/android/arch/paging/PagedList.Config)` config) ` Creates a LivePagedListBuilder with required parameters. |
| ` `[LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#LivePagedListBuilder(android.arch.paging.DataSource.Factory<Key, Value>, int))`(`[Factory](https://developer.android.com/reference/android/arch/paging/DataSource.Factory)`<Key, Value> dataSourceFactory, int pageSize) ` Creates a LivePagedListBuilder with required parameters.                                                                                                                               |

|                                                                                                                                                                                                                                                                                                                                                                        ### Public methods                                                                                                                                                                                                                                                                                                                                                                        ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[LiveData](https://developer.android.com/reference/android/arch/lifecycle/LiveData)`<`[PagedList](https://developer.android.com/reference/android/arch/paging/PagedList)`<Value>>` | ` `[build](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#build())`() ` Constructs the `LiveData<PagedList>`.                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ` `[LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>`                                                             | ` `[setBoundaryCallback](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#setBoundaryCallback(android.arch.paging.PagedList.BoundaryCallback<Value>))`(`[BoundaryCallback](https://developer.android.com/reference/android/arch/paging/PagedList.BoundaryCallback)`<Value> boundaryCallback) ` Sets a [PagedList.BoundaryCallback](https://developer.android.com/reference/android/arch/paging/PagedList.BoundaryCallback) on each PagedList created, typically used to load additional data from network when paging from local storage. |
| ` `[LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>`                                                             | ` `[setFetchExecutor](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#setFetchExecutor(java.util.concurrent.Executor))`(Executor fetchExecutor) ` Sets executor used for background fetching of PagedLists, and the pages within.                                                                                                                                                                                                                                                                                                        |
| ` `[LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>`                                                             | ` `[setInitialLoadKey](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder#setInitialLoadKey(Key))`(Key key) ` First loading key passed to the first PagedList/DataSource.                                                                                                                                                                                                                                                                                                                                                                   |

| ### Inherited methods |
|-----------------------|---|
| From class ` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### LivePagedListBuilder

```
LivePagedListBuilder (Factory<Key, Value> dataSourceFactory, 
                PagedList.Config config)
```

Creates a LivePagedListBuilder with required parameters.

<br />

|                                         Parameters                                          ||
|---------------------|------------------------------------------------------------------------|
| `dataSourceFactory` | `Factory`: DataSource factory providing DataSource generations. <br /> |
| `config`            | `PagedList.Config`: Paging configuration. <br />                       |

### LivePagedListBuilder

```
LivePagedListBuilder (Factory<Key, Value> dataSourceFactory, 
                int pageSize)
```

Creates a LivePagedListBuilder with required parameters.


This method is a convenience for:  

```
 LivePagedListBuilder(dataSourceFactory,
         new PagedList.Config.Builder().setPageSize(pageSize).build())
 
```

<br />

<br />

|                                         Parameters                                          ||
|---------------------|------------------------------------------------------------------------|
| `dataSourceFactory` | `Factory`: DataSource.Factory providing DataSource generations. <br /> |
| `pageSize`          | `int`: Size of pages to load. <br />                                   |

## Public methods

### build

```
LiveData<PagedList<Value>> build ()
```

Constructs the `LiveData<PagedList>`.


No work (such as loading) is done immediately, the creation of the first PagedList is is
deferred until the LiveData is observed.

<br />

|                                                                                                        Returns                                                                                                        ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|
| [LiveData](https://developer.android.com/reference/android/arch/lifecycle/LiveData)`<`[PagedList](https://developer.android.com/reference/android/arch/paging/PagedList)`<Value>>` | The LiveData of PagedLists <br /> |

### setBoundaryCallback

```
LivePagedListBuilder<Key, Value> setBoundaryCallback (BoundaryCallback<Value> boundaryCallback)
```

Sets a [PagedList.BoundaryCallback](https://developer.android.com/reference/android/arch/paging/PagedList.BoundaryCallback) on each PagedList created, typically used to load
additional data from network when paging from local storage.


Pass a BoundaryCallback to listen to when the PagedList runs out of data to load. If this
method is not called, or `null` is passed, you will not be notified when each
DataSource runs out of data to provide to its PagedList.


If you are paging from a DataSource.Factory backed by local storage, you can set a
BoundaryCallback to know when there is no more information to page from local storage.
This is useful to page from the network when local storage is a cache of network data.


Note that when using a BoundaryCallback with a `LiveData<PagedList>`, method calls
on the callback may be dispatched multiple times - one for each PagedList/DataSource
pair. If loading network data from a BoundaryCallback, you should prevent multiple
dispatches of the same method from triggering multiple simultaneous network loads.

<br />

|                                                 Parameters                                                  ||
|--------------------|-----------------------------------------------------------------------------------------|
| `boundaryCallback` | `BoundaryCallback`: The boundary callback for listening to PagedList load state. <br /> |

|                                                               Returns                                                               ||
|------------------------------------------------------------------------------------------------------------------------|-------------|
| [LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>` | this <br /> |

### setFetchExecutor

```
LivePagedListBuilder<Key, Value> setFetchExecutor (Executor fetchExecutor)
```

Sets executor used for background fetching of PagedLists, and the pages within.


If not set, defaults to the Arch components I/O thread.

<br />

|                                    Parameters                                    ||
|-----------------|-----------------------------------------------------------------|
| `fetchExecutor` | `Executor`: Executor for fetching data from DataSources. <br /> |

|                                                               Returns                                                               ||
|------------------------------------------------------------------------------------------------------------------------|-------------|
| [LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>` | this <br /> |

### setInitialLoadKey

```
LivePagedListBuilder<Key, Value> setInitialLoadKey (Key key)
```

First loading key passed to the first PagedList/DataSource.


When a new PagedList/DataSource pair is created after the first, it acquires a load key from
the previous generation so that data is loaded around the position already being observed.

<br />

|                                   Parameters                                    ||
|-------|--------------------------------------------------------------------------|
| `key` | `Key`: Initial load key passed to the first PagedList/DataSource. <br /> |

|                                                               Returns                                                               ||
|------------------------------------------------------------------------------------------------------------------------|-------------|
| [LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)`<Key, Value>` | this <br /> |

-

  ## Interfaces

  - [DataSource.InvalidatedCallback](https://developer.android.com/reference/android/arch/paging/DataSource.InvalidatedCallback)
-

  ## Classes

  - [AsyncPagedListDiffer](https://developer.android.com/reference/android/arch/paging/AsyncPagedListDiffer)
  - [DataSource](https://developer.android.com/reference/android/arch/paging/DataSource)
  - [DataSource.Factory](https://developer.android.com/reference/android/arch/paging/DataSource.Factory)
  - [ItemKeyedDataSource](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource)
  - [ItemKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadCallback)
  - [ItemKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialCallback)
  - [ItemKeyedDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialParams)
  - [ItemKeyedDataSource.LoadParams](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadParams)
  - [LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)
  - [PagedList](https://developer.android.com/reference/android/arch/paging/PagedList)
  - [PagedList.BoundaryCallback](https://developer.android.com/reference/android/arch/paging/PagedList.BoundaryCallback)
  - [PagedList.Builder](https://developer.android.com/reference/android/arch/paging/PagedList.Builder)
  - [PagedList.Callback](https://developer.android.com/reference/android/arch/paging/PagedList.Callback)
  - [PagedList.Config](https://developer.android.com/reference/android/arch/paging/PagedList.Config)
  - [PagedList.Config.Builder](https://developer.android.com/reference/android/arch/paging/PagedList.Config.Builder)
  - [PagedListAdapter](https://developer.android.com/reference/android/arch/paging/PagedListAdapter)
  - [PageKeyedDataSource](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource)
  - [PageKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback)
  - [PageKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadInitialCallback)
  - [PageKeyedDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadInitialParams)
  - [PageKeyedDataSource.LoadParams](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadParams)
  - [PositionalDataSource](https://developer.android.com/reference/android/arch/paging/PositionalDataSource)
  - [PositionalDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadInitialCallback)
  - [PositionalDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadInitialParams)
  - [PositionalDataSource.LoadRangeCallback](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadRangeCallback)
  - [PositionalDataSource.LoadRangeParams](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadRangeParams)
  - [RxPagedListBuilder](https://developer.android.com/reference/android/arch/paging/RxPagedListBuilder)