InvalidatingPagingSourceFactory

public final class InvalidatingPagingSourceFactory<Key extends Object, Value extends Object>


Wrapper class for a PagingSource factory intended for usage in Pager construction.

Calling invalidate on this InvalidatingPagingSourceFactory will forward invalidate signals to all active PagingSources that were produced by calling invoke.

This class is backed by a CopyOnWriteArrayList, which is thread-safe for concurrent calls to any mutative operations including both invoke and invalidate.

Summary

Public constructors

<Key extends Object, Value extends Object> InvalidatingPagingSourceFactory(
    Function0<PagingSource<Key, Value>> pagingSourceFactory
)

Public methods

final void

Calls PagingSource.invalidate on each PagingSource that was produced by this InvalidatingPagingSourceFactory

@NonNull PagingSource<@NonNull Key, @NonNull Value>

Public constructors

InvalidatingPagingSourceFactory

public final <Key extends Object, Value extends Object> InvalidatingPagingSourceFactory(
    Function0<PagingSource<Key, Value>> pagingSourceFactory
)
Parameters
Function0<PagingSource<Key, Value>> pagingSourceFactory

The PagingSource factory that returns a PagingSource when called

Public methods

invalidate

public final void invalidate()

Calls PagingSource.invalidate on each PagingSource that was produced by this InvalidatingPagingSourceFactory

invoke

public @NonNull PagingSource<@NonNull Key, @NonNull Value> invoke()
Returns
@NonNull PagingSource<@NonNull Key, @NonNull Value>

PagingSource which will be invalidated when this factory's invalidate method is called