API de filtre : Android

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • La classe Filter permet de configurer des filtres qui définissent les données à renvoyer dans les résultats de retour d’une requête de point de terminaison REST.

    Tableau 1. Propriétés
    Nom Type Description
    Éléments de requête map<chaîne, chaîne> Collection d’éléments de requête représentant le filtre.

    Filter : Filter(conditions : List<Condition>, keywords : String ? = null, sortBy : List<Sort> ? = null)

    Crée un filtre basé sur des mots clés et des conditions spécifiques qui peuvent être utilisés OU ou ET ensemble.

    Tableau 2. Paramètres
    Nom Type Description
    conditions Liste <condition > Conditions simples ou composées à ajouter à la requête.
    Conditions possibles :
    • BooleanSimpleCondition : conditions disponibles pour les champs d’enregistrement booléens.
    • DateSimpleTimeCondition : conditions disponibles pour les champs d’enregistrement de date et heure.
    • EmailSimpleCondition : conditions disponibles pour les champs d’e-mail.
    • IntegerChoiceSimpleCondition : conditions disponibles pour les champs de choix entier.
    • NumericSimpleCondition : conditions disponibles pour divers champs numériques.
    • ReferenceSimpleCondition : opérateurs de condition disponibles pour les champs d’enregistrement de référence.
    • StringChoiceSimpleCondition : opérateurs de condition disponibles pour les champs d’enregistrement de choix contenant des chaînes.
    • StringSimpleCondition : opérateurs de condition disponibles pour les champs d’enregistrement de chaîne.
    • CompoundCondition : vous permet de regrouper SimpleConditions en une condition composée à l’aide de connecteurs ConditionUtils.CompoundOperator.
    Mots clés Chaîne Facultatif. Tout mot ou expression spécifique à rechercher.

    Par défaut : nil - aucune recherche de mot spécifique.

    sortBy liste<tri> Facultatif. Liste des noms de champs d’enregistrement et constante d’ordre de tri associée selon laquelle trier les enregistrements renvoyés. Par exemple : val sortBy = listOf(« zipcode », ORDER_DESC)

    Si vous incluez plusieurs champs de tri, chaque champ suivant est un autre tri du ou des champs précédents.

    Valeurs de tri valides :
    • ORDER_ASC : tri par ordre croissant
    • ORDER_DESC : Trier par ordre décroissant

    Par défaut : ORDER_ASC

    Tableau 3. Renvoie
    Type Description
    Aucun

    // 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))  

    Filtre : Filter(criteriaList : List<Criteria>, sortBy : List<Sort> ? = null)

    Crée un filtre basé sur un ou plusieurs critères de filtre qui sont OU ensemble.

    Tableau 4. Paramètres
    Nom Type Description
    Liste de critères Liste <critères> Conditions de critères de niveau supérieur à regrouper avec des connecteurs OR .
    sortBy liste<tri> Facultatif. Liste des noms de champs d’enregistrement et constante d’ordre de tri associée selon laquelle trier les enregistrements renvoyés. Par exemple : val sortBy = listOf(« zipcode », ORDER_DESC)

    Si vous incluez plusieurs champs de tri, chaque champ suivant est un autre tri du ou des champs précédents.

    Valeurs de tri valides :
    • ORDER_ASC : tri par ordre croissant
    • ORDER_DESC : Trier par ordre décroissant

    Par défaut : ORDER_ASC

    Tableau 5. Renvoie
    Type Description
    Aucun

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