Filter-API – Android

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 2 Minuten Lesedauer
  • Die Filterklasse bietet die Möglichkeit, Filter zu konfigurieren, die die Daten definieren, die in den Rückgabeergebnissen einer REST-Endpunktabfrage zurückgegeben werden sollen.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    queryItems Karte<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üpfungen verwendet werden können.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Regeln 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: Bedingungen, die für Datums-/Uhrzeit-Datensatzfelder verfügbar sind.
    • EmailSimpleCondition: Für E-Mail-Felder verfügbare Bedingungen.
    • IntegerChoiceSimpleCondition: Für Ganzzahl-Auswahlfelder verfügbare Bedingungen.
    • NumericSimpleCondition: Bedingungen, die für verschiedene numerische Felder verfügbar sind.
    • ReferenceSimpleCondition: Bedingungsoperatoren, die für Referenzdatensatzfelder verfügbar sind.
    • StringChoiceSimpleCondition: Bedingungsoperatoren, die für Auswahldatensatzfelder verfügbar sind, die Zeichenfolgen enthalten.
    • StringSimpleCondition: Bedingungsoperatoren, die für Zeichenfolgen-Datensatzfelder verfügbar sind.
    • ZusammengesetzteBedingung: Ermöglicht das Gruppieren von SimpleConditions in einer zusammengesetzten Bedingung mithilfe von ConditionUtils.CompoundOperator-Connectors.
    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 einbeziehen, ist jedes nachfolgende Feld eine weitere Sortierung des vorherigen Felds bzw. der vorherigen Felder.

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

    Standard: ORDER_ASC

    Tabelle : 3. Ergebnisse
    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: List<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, die mit OR -Connectors gruppiert werden sollen.
    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 einbeziehen, ist jedes nachfolgende Feld eine weitere Sortierung des vorherigen Felds bzw. der vorherigen Felder.

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

    Standard: ORDER_ASC

    Tabelle : 5. Ergebnisse
    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))