API de filtro - Android

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • A classe Filtro 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
    itens de consulta Mapa<String, String> Coleção de itens de consulta que representam o filtro.

    Filtro - Filtro (condições: Lista<Condition> , palavras-chave: Cadeia de caracteres? = nulo, classificado por: lista<Sort> ? = nulo)

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

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    condições Lista<Condition> Condições simples ou compostas a serem adicionadas à consulta.
    Possíveis condições:
    • BooleanSimpleCondition: condições disponíveis para campos de registro boolianos.
    • DateSimpleTimeCondition: condições disponíveis para campos de registro de data e 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 opção que contêm cadeias de caracteres.
    • StringSimpleCondition: operadores de condição disponíveis para campos de registro de cadeia de caracteres.
    • CondiçãoComposta: permite agrupar CondiçõesSimples em uma condição composta usando conectores ConditionUtils.ComponentOperator.
    palavras-chave Cadeia de caracteres Opcional. Qualquer palavra ou frase específica a ser pesquisada.

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

    Classificar por Lista<Sort> Opcional. Lista de nomes de campo de registro e a constante de ordem de classificação associada para classificar os registros retornados. Por exemplo: val classificado por = listOf("zipcode", ORDER_DESC)

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

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

    Padrão: ORDER_ASC

    Tabela 3. Retorna
    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))  

    Filtro - Filtro(criteriaList: lista<Criteria> , classBy: lista<Sort> ? = nulo)

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

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    Lista de critérios Lista<Criteria> Condições de critérios de nível superior para agrupar com conectores OR.
    Classificar por Lista<Sort> Opcional. Lista de nomes de campo de registro e a constante de ordem de classificação associada para classificar os registros retornados. Por exemplo: val classificado por = listOf("zipcode", ORDER_DESC)

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

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

    Padrão: ORDER_ASC

    Tabela 5. Retorna
    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))