フィルター API - Android

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

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

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

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

    表 : 2. パラメーター
    名前 タイプ 説明
    条件 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 - Filter(criteriaList: List<Criteria>, sortBy: List<Sort>? = null)

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

    表 : 4. パラメーター
    名前 タイプ 説明
    クライテリアリスト List<Criteria> 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))