Filter-API – Android

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Die Filterklasse bietet die Möglichkeit zum Konfigurieren von Filtern, die die Daten definieren, die in den zurückgegebenen Ergebnissen einer REST-Endpunktabfrage zurückgegeben werden sollen.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    Abfrageelemente Zuordnung<String, String> Sammlung von Abfrageelementen, die den Filter darstellen.

    Filter: Filter(bedingungen: Liste<Condition> , Stichwörter: Zeichenfolge? = null, sortBy: Liste<Sort> ? = null)

    Erstellt einen Filter basierend auf bestimmten Stichwörtern und Bedingungen, die ODER- oder UND-verknüpft werden können.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Bedingungen Liste<Condition> Einfache oder zusammengesetzte Bedingungen, die der Abfrage hinzugefügt werden sollen.
    Mögliche Bedingungen:
    • BooleanSimpleCondition: Für boolesche Datensatzfelder verfügbare Bedingungen.
    • DateSimpleTimeCondition: Für Datums-/Uhrzeit-Datensatzfelder verfügbare Bedingungen.
    • EmailSimpleCondition: Für E-Mail-Felder verfügbare Bedingungen.
    • IntegerChoiceSimpleCondition: Bedingungen, die für Ganzzahl-Auswahlfelder verfügbar sind.
    • NumericSimpleCondition: Für verschiedene numerische Felder verfügbare Bedingungen.
    • ReferenceSimpleCondition: Bedingungsoperatoren für Referenzdatensatzfelder verfügbar.
    • StringChoiceSimpleCondition: Bedingungsoperatoren, die für Auswahldatensatzfelder verfügbar sind, die Zeichenfolgen enthalten.
    • StringSimpleCondition: Bedingungsoperatoren für Zeichenfolgen-Datensatzfelder verfügbar.
    • zusammengesetzteBedingung: Ermöglicht Ihnen das Gruppieren von SimpleConditions in einer zusammengesetzten Bedingung mithilfe der Connectors ConditionUtils.CompoundOperator.
    Stichwörter Zeichenfolge Optional. Ein bestimmtes Wort oder ein bestimmter Ausdruck, nach dem gesucht werden soll.

    Standard: nil – Keine spezifische Wortsuche.

    sortBy Liste<Sort> Optional. Liste der Datensatzfeldnamen und die zugehörige Sortierreihenfolgekonstante, nach der die zurückgegebenen Datensätze sortiert werden sollen. Beispiel: val sortBy = listOf("zipcode", ORDER_DESC)

    Wenn Sie mehrere Sortierfelder einfügen, ist jedes nachfolgende Feld eine weitere Sortierung der vorherigen Felder.

    Gültige Sortierwerte:
    • ORDER_ASC: Aufsteigend sortieren
    • ORDER_DESC: Absteigend sortieren

    Standard: ORDER_ASC

    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Keine

    // 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: Liste<Criteria> , sortBy: Liste<Sort> ? = null)

    Erstellt einen Filter basierend auf einem oder mehreren Filterkriterien, die ODER-verknüpft sind.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Kriterienliste Liste<Criteria> Kriterienbedingungen der obersten Ebene für die Gruppierung mit ODER- Connectors.
    sortBy Liste<Sort> Optional. Liste der Datensatzfeldnamen und die zugehörige Sortierreihenfolgekonstante, nach der die zurückgegebenen Datensätze sortiert werden sollen. Beispiel: val sortBy = listOf("zipcode", ORDER_DESC)

    Wenn Sie mehrere Sortierfelder einfügen, ist jedes nachfolgende Feld eine weitere Sortierung der vorherigen Felder.

    Gültige Sortierwerte:
    • ORDER_ASC: Aufsteigend sortieren
    • ORDER_DESC: Absteigend sortieren

    Standard: ORDER_ASC

    Tabelle : 5. Rückgaben
    Typ Beschreibung
    Keine

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