Paginator class - Android
The Paginator class provides functions for paging through the return results passed back by a REST endpoint call, such as those returned by the NowTableService class.
You must first call the NowTableService - paginator(from tableName: String, configuration: FetchConfiguration? = nil) or NowTableService - paginator<Model: Decodable>(from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuration: FetchConfiguration? = nil) function to retrieve paginate return results.
Paginator - first()
Fetches the first page of the return results.
The method throws a PaginationError if it cannot fetch the first page.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
paginator.first()
}
Paginator - hasNext()
Checks whether there is a next page in the return results.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| Boolean | Flag that indicates whether there’s a next page in the return results. Possible values:
|
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
Paginator - hasPrevious()
Checks whether there in a previous page in the return results.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| Boolean | Flag that indicates whether there is a previous page in the return
results. Possible values:
|
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasPrevious() && !paginator.isBusy()) {
paginator.previous()
}
}
Paginator - isBusy()
Checks whether the Paginator is busy fetching data.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None | Flag that indicates whether the Paginator is busy fetching data. Possible values:
|
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
Paginator - last()
Fetches the last page of the return results.
The method throws a PaginationError if it cannot fetch the last page.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if !paginator.isBusy()) {
paginator.last()
}
}
Paginator - next()
Fetches the next page of the return results.
The method throws a PaginationError if there are no more pages to
fetch.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
Paginator - observe(callback: PaginatorCallBack<T>)
Sets the Paginator object's callbacks. You must call this method before calling any other Paginator functions.
| Name | Type | Description |
|---|---|---|
| callback | PaginatorCallBack | Callbacks to call based on the success or failure of the Paginator creation.
|
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginationCallBack = object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
}
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(paginationCallBack)
?: throw Exception("Response is null")
}
Paginator - previous()
Fetches the previous page of the return results.
The method throws a PaginationError if it cannot fetch the previous
page.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasPrevious() && !paginator.isBusy()) {
paginator.previous()
}
}
Paginator - reset()
Resets the Paginator back to the first page but doesn’t return the first page of the return results.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| None |
The following code example shows how to call this function.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
paginator.reset()
}