Paginator class - Android

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:13分
  • 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.

    表 : 1. Parameters
    Name Type Description
    None
    表 : 2. Returns
    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.

    表 : 3. Parameters
    Name Type Description
    None
    表 : 4. Returns
    Type Description
    Boolean Flag that indicates whether there’s a next page in the return results.
    Possible values:
    • true: Next page available.
    • false: No next page available.

    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.

    表 : 5. Parameters
    Name Type Description
    None
    表 : 6. Returns
    Type Description
    Boolean Flag that indicates whether there is a previous page in the return results.
    Possible values:
    • true: Previous page available.
    • false: No previous page available.

    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.

    表 : 7. Parameters
    Name Type Description
    None
    表 : 8. Returns
    Type Description
    None Flag that indicates whether the Paginator is busy fetching data.
    Possible values:
    • true: Busy fetching data.
    • false: Not busy.

    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.

    表 : 9. Parameters
    Name Type Description
    None
    表 : 10. Returns
    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.

    表 : 11. Parameters
    Name Type Description
    None
    表 : 12. Returns
    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.

    表 : 13. Parameters
    Name Type Description
    callback PaginatorCallBack Callbacks to call based on the success or failure of the Paginator creation.
    • Success: abstract fun onSuccess(response: Response<List<T>>)
    • Failure: abstract fun onFailure(e: NowDataError)
    表 : 14. Returns
    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.

    表 : 15. Parameters
    Name Type Description
    None
    表 : 16. Returns
    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.

    表 : 17. Parameters
    Name Type Description
    None
    表 : 18. Returns
    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()
    }