フィルター API - Android

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

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

    フィルター:フィルター(条件:List<Condition>、キーワード:String?= null、sortBy:List<Sort>? = null)

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

    表 : 2. パラメーター
    名前 タイプ 説明
    条件 リスト<条件> クエリに追加する単純条件または複合条件。
    考えられる条件:
    • 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. パラメーター
    名前 タイプ 説明
    基準リスト 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))