Classe do paginador - Android

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • A classe Paginator fornece funções para paginação por meio dos resultados de retorno passados por uma chamada de endpoint REST, como aqueles retornados pela classe NowTableService.

    Você deve primeiro chamar a função NowTableService - paginador (de tableName: cadeia de caracteres, configuração: FetchConfiguration? = nil) ou NowTableService - paginador<Model: Decodable> (de tableName: cadeia de caracteres, caminho: cadeia de caracteres = Constants.resultPath, codificador: codificador = .default, configuração: FetchConfiguration? = nulo) para recuperar resultados de retorno de paginação.

    Paginador - first()

    Busca a primeira página dos resultados de retorno.

    O método emitirá um PaginationError se não puder buscar a primeira página.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - hasNext()

    Verifica se há uma próxima página nos resultados de retorno.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se há uma próxima página nos resultados de retorno.
    Valores possíveis:
    • verdadeiro: próxima página disponível.
    • falso: não há próxima página disponível.

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - hasPrevious()

    Verifica se há em uma página anterior nos resultados de retorno.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se há uma página anterior nos resultados de retorno.
    Valores possíveis:
    • verdadeiro: página anterior disponível.
    • falso: nenhuma página anterior disponível.

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - isBusy()

    Verifica se o Paginador está ocupado buscando dados.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 8. Retorna
    Tipo Descrição
    Nenhum(a) Sinalizador que indica se o Paginador está ocupado buscando dados.
    Valores possíveis:
    • verdadeiro: ocupado buscando dados.
    • falso: não está ocupado.

    O exemplo de código a seguir mostra como chamar esta função.

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

    Paginador - last()

    Busca a última página dos resultados retornados.

    O método emitirá um PaginationError se não puder buscar a última página.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - next()

    Busca a próxima página dos resultados de retorno.

    O método emitirá um PaginationError se não houver mais páginas para buscar.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - observe(callback: PaginatorCallBack<T> )

    Define os retornos de chamada do objeto Paginator. Você deve chamar este método antes de chamar qualquer outra função do Paginador.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    retorno de chamada PaginatorCallBack Retornos de chamada a serem chamados com base no sucesso ou na falha da criação do Paginador.
    • Sucesso: resumo fun onSuccess(resposta: Resposta<List<T> >)
    • Falha: resumo fun onFailure (e: NowDataError)
    Tabela 14. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar essa função.

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

    Paginador - anterior()

    Busca a página anterior dos resultados retornados.

    O método emitirá um PaginationError se não puder buscar a página anterior.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

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

    Paginador - redefinir()

    Redefine o Paginador de volta para a primeira página, mas não retorna a primeira página dos resultados de retorno.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 18. Retorna
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

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