ページネータクラス - Android
Paginator クラスには、NowTableService クラスによって返される結果など、REST エンドポイント呼び出しによって返された結果をページングするための関数が用意されています。
最初に or NowTableService - paginator<Model: Decodable>(from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuration: FetchConfiguration? = nil) 関数を呼び出してNowTableService - paginator(from tableName: String, configuration: FetchConfiguration? = nil)、ページネーションの返される結果を取得する必要があります。
Paginator - first()
返される結果の最初のページをフェッチします。
最初のページをフェッチできない場合、メソッドは PaginationError をスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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()
返された結果に次のページがあるかどうかをチェックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 返される結果に次のページがあるかどうかを示すフラグ。 可能な値:
|
次のコード例は、この関数を呼び出す方法を示しています。
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()
返される結果に前のページにあるかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | 返される結果に前のページがあるかどうかを示すフラグ。 可能な値:
|
次のコード例は、この関数を呼び出す方法を示しています。
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()
ページネータがデータのフェッチ中かどうかをチェックします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし | ページネータがデータのフェッチでビジー状態かどうかを示すフラグ。 可能な値:
|
次のコード例は、この関数を呼び出す方法を示しています。
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()
返される結果の最後のページをフェッチします。
最後のページをフェッチできない場合、メソッドは PaginationError をスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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()
返された結果の次のページをフェッチします。
このメソッドは、フェッチするページがこれ以上ない場合に Pagenation Error をスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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>)
Paginator オブジェクトのコールバックを設定します。他のページネータ関数を呼び出す前に、このメソッドを呼び出す必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールバック | ページネータコールバック | ページネータ作成の成功または失敗に基づいて呼び出すコールバック。
|
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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()
返された結果の前のページをフェッチします。
前のページをフェッチできない場合、メソッドは PaginationError をスローします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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()
ページネータをリセットして最初のページに戻しますが、返された結果の最初のページは返されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
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()
}