ページネータークラス: Android

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:11分
  • Paginator クラスは、NowTableService クラスによって返される結果など、REST エンドポイント呼び出しによって返された結果をページングするための関数を提供します。

    ページネーションの戻り結果を取得するには、最初に NowTableService:ページネーター (テーブル名から:文字列、構成:FetchConfiguration?= nil) 関数または NowTableService - paginator<Model: Decodable>(from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuration: FetchConfiguration? = nil) 関数を呼び出す必要があります。

    ページネーター:first()

    返される結果の最初のページをフェッチします。

    最初のページをフェッチできない場合、メソッドは PaginationError をスローします。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    表 : 2. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
    }

    ページネーター:hasNext()

    返された結果に次のページがあるかどうかを確認します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 戻り値
    タイプ 説明
    ブール 返される結果に次のページがあるかどうかを示すフラグ。
    可能な値:
    • true:次のページが利用可能です。
    • false:利用可能な次のページはありません。

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター:hasPrevious()

    返される結果に前のページがあるかどうかを確認します。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 戻り値
    タイプ 説明
    ブール 返される結果に前のページがあるかどうかを示すフラグ。
    可能な値:
    • true:前のページが利用可能です。
    • false:利用可能な前のページはありません。

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター:isBusy()

    ページネーターがデータのフェッチでビジー状態かどうかを確認します。

    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 戻り値
    タイプ 説明
    なし ページネーターがデータのフェッチでビジー状態かどうかを示すフラグ。
    可能な値:
    • true:データのフェッチでビジー状態です。
    • false:ビジーではありません。

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター:last()

    返される結果の最後のページをフェッチします。

    最後のページをフェッチできない場合、メソッドは PaginationError をスローします。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター:next()

    返された結果の次のページをフェッチします。

    フェッチするページがこれ以上ない場合、このメソッドは PaginationError をスローします。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター - observe(コールバック: PaginatorCallback<T>)

    Paginator オブジェクトのコールバックを設定します。他の Paginator 関数を呼び出す前に、このメソッドを呼び出す必要があります。

    表 : 13. パラメーター
    名前 タイプ 説明
    コールバック ページネーターコールバック ページネーター作成の成功または失敗に基づいて呼び出すコールバック。
    • 成功: 抽象的な楽しみ onSuccess(response: Response<List<T>>)
    • 失敗: 抽象的な楽しみ onFailure(e: NowDataError)
    表 : 14. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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")
    }

    ページネーター:previous()

    返された結果の前のページをフェッチします。

    このメソッドは、前のページをフェッチできない場合、 PaginationError をスローします。

    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
      }
    }

    ページネーター:reset()

    ページネーターを最初のページにリセットしますが、返される結果の最初のページは返しません。

    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    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()
    }