API de filtro - Android

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • . Filtro A classe fornece a capacidade de configurar filtros que definem os dados a serem retornados nos resultados de retorno de uma consulta de endpoint REST.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    QueryItems Map<String, String> Coleção de itens de consulta que representam o filtro.

    Filter - Filter(Condições: List<Condition>, palavras-chave: Cadeia de caracteres? Classificado por: List<Sort>? nulo)

    Cria um filtro com base em palavras-chave e condições específicas que podem ser OR'D ou AND'D juntos.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    condições List<Condition> Condições simples ou compostas a serem adicionadas à consulta.
    Possíveis condições:
    • BooleanSimpleCondition: Condições disponíveis para campos de registro booliano.
    • DateSimpleTimeCondition: Condições disponíveis para campos de registro de data/hora.
    • EmailSimpleCondition: Condições disponíveis para campos de e-mail.
    • IntegerChoiceSimpleCondition: Condições disponíveis para campos de opção de número inteiro.
    • NumericSimpleCondition: Condições disponíveis para vários campos numéricos.
    • ReferenceSimpleCondition: Operadores de condição disponíveis para campos de registro de referência.
    • StringChoiceSimpleCondition: Operadores de condição disponíveis para campos de registro de escolha que contêm cadeias de caracteres.
    • StringSimpleCondition: Operadores de condição disponíveis para campos de registro de cadeia de caracteres.
    • CompoundCondition: Permite agrupar SimpleConditions em uma condição composta usando ConditionUtils.CompoundOperator conectores.
    palavras-chave Cadeia de caracteres Opcional. Qualquer palavra ou frase específica a ser pesquisada.

    Padrão: Nil - Nenhuma pesquisa de palavra específica.

    sortBy List<Sort> Opcional. Lista de nomes de campos de registro e a constante de ordem de classificação associada para classificar os registros retornados. Por exemplo: ListOf("zipcode", ORDER_DESC)

    Se você incluir vários campos de classificação, cada campo subsequente será um tipo adicional de campo(s) anterior(is).

    Valores de classificação válidos:
    • ORDER_asc: Classificação crescente
    • ORDER_DESC: Classificação em ordem decrescente

    Padrão: ORDER_asc

    Tabela 3. Retornos
    Tipo Descrição
    Nenhum

    // Where the record is active 
    
    val condition1 = BooleanSimpleCondition.conditionIs("active", true) 
    
    // AND the date value of the SLA due field is on "today" or any date after today. 
    
    val condition2 = DateSimpleTimeCondition.atOrAfter("sla_due", 0, ConditionUtils.DateTimeValueOperator.daysAgoStart) 
    
    val filter = Filter(conditions = listOf(condition1, condition2))  

    Filter - Filter(criteriaList: List<Criteria>, sortBy: List<Sort>? nulo)

    Cria um filtro com base em um ou mais critérios de filtro que estão juntos.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    CritériaList List<Criteria> Condições de critérios de nível superior para agrupar OU conectores.
    sortBy List<Sort> Opcional. Lista de nomes de campos de registro e a constante de ordem de classificação associada para classificar os registros retornados. Por exemplo: ListOf("zipcode", ORDER_DESC)

    Se você incluir vários campos de classificação, cada campo subsequente será um tipo adicional de campo(s) anterior(is).

    Valores de classificação válidos:
    • ORDER_asc: Classificação crescente
    • ORDER_DESC: Classificação em ordem decrescente

    Padrão: ORDER_asc

    Tabela 5. Retornos
    Tipo Descrição
    Nenhum

    val activeIncidents = BooleanSimpleCondition.conditionIs("active", true)
    val assignedToEmpty = StringSimpleCondition.isEmpty("assigned_to")
    val assignedToAbel = StringSimpleCondition.conditionIs("assigned_to", "Abel Tuter")
    val assignedToAbelOrEmpty = CompoundCondition(ConditionUtils.CompoundOperator.OR, listOf(assignedToEmpty, assignedToAbel))
    val needToReassign = Criteria().addConditions(listOf(activeIncidents, assignedToAbelOrEmpty))
    val highEscelations = StringSimpleCondition.conditionIs("escalation", "2")
    val overdueEscelations = StringSimpleCondition.conditionIs("escalation", "3")
    val highOrOverdueEscelations = CompoundCondition(ConditionUtils.CompoundOperator.OR, listOf(highEscelations, overdueEscelations))
    val needToHandleEscalation = Criteria().addCondition(highOrOverdueEscelations)
    val myPrioritiesForTodayFilter = Filter(listOf(needToReassign, needToHandleEscalation))