フィルター API - Android

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • Filter クラスには、REST エンドポイントクエリの戻り値で返すデータを定義するフィルターを構成する機能があります。

    表 : 1. プロパティ
    名前 タイプ Description (説明)
    クエリアイテム Map<String, String> フィルターを表すクエリーアイテムのコレクション。

    フィルター - Filter(conditions: List<Condition>, keywords: String? = null, sortBy: List<Sort>? = null)

    OR または AND で結合できる特定のキーワードと条件に基づいてフィルターを作成します。

    表 : 2. パラメーター
    名前 タイプ Description (説明)
    条件 List<Condition> クエリに追加する単純な条件または複合条件。
    考えられる条件:
    • BooleanSimpleCondition:ブーリアンレコードフィールドで利用可能な条件。
    • DateSimpleTimeCondition:日時レコードフィールドで利用可能な条件。
    • EmailSimpleCondition:メールフィールドで利用可能な条件。
    • IntegerChoiceSimpleCondition:整数選択フィールドで利用可能な条件。
    • NumericSimpleCondition:さまざまな数値フィールドに使用できる条件。
    • ReferenceSimpleCondition:参照レコードフィールドに使用できる条件演算子。
    • StringChoiceSimpleCondition:文字列を含む選択レコードフィールドで使用できる条件演算子。
    • StringSimpleCondition:文字列レコードフィールドで使用できる条件演算子。
    • CompoundCondition: ConditionUtils.CompoundOperator コネクタを使用して、SimpleConditions を複合条件にグループ化できます。
    キーワード 文字列 オプション。検索する特定の単語またはフレーズ。

    デフォルト:nil:特定の単語を検索しません。

    sortBy リスト<ソート> オプション。レコードフィールド名と、返されたレコードをソートするための関連するソート順定数のリスト。例: val sortBy = listOf("zipcode", ORDER_DESC)

    複数のソートフィールドを含めると、後続の各フィールドは前のフィールドをさらにソートしたものになります。

    有効なソート値:
    • ORDER_ASC:昇順でソート
    • ORDER_DESC:降順でソート

    デフォルト:ORDER_ASC

    表 : 3. 返される内容
    タイプ 説明
    なし

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

    OR で結合された 1 つ以上のフィルター基準に基づいてフィルターを作成します。

    表 : 4. パラメーター
    名前 タイプ Description (説明)
    基準リスト リスト<基準> OR コネクタでグループ化するトップレベルの基準条件。
    sortBy リスト<ソート> オプション。レコードフィールド名と、返されたレコードをソートするための関連するソート順定数のリスト。例: val sortBy = listOf("zipcode", ORDER_DESC)

    複数のソートフィールドを含めると、後続の各フィールドは前のフィールドをさらにソートしたものになります。

    有効なソート値:
    • ORDER_ASC:昇順でソート
    • ORDER_DESC:降順でソート

    デフォルト:ORDER_ASC

    表 : 5. 返される内容
    タイプ 説明
    なし

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