필터 API - Android

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • Filter 클래스를 사용하면 REST 끝점 쿼리의 반환 결과에 반환할 데이터를 정의하는 필터를 구성할 수 있습니다.

    표 1. 속성
    이름 유형 설명
    queryItems 맵<문자열, 문자열> 필터를 나타내는 쿼리 항목의 컬렉션입니다.

    필터 - 필터(조건: 목록<조건>, 키워드: 문자열? = null, sortBy: 목록<정렬>? = null)

    함께 OR 또는 AND로 할 수 있는 특정 키워드 및 조건을 기준으로 필터를 작성합니다.

    표 2. 매개변수
    이름 유형 설명
    조건 목록<조건> 쿼리에 추가할 단순 또는 복합 조건입니다.
    가능한 조건:
    • BooleanSimpleCondition: 부울 기록 필드에 사용할 수 있는 조건입니다.
    • DateSimpleTimeCondition: 날짜-시간 기록 필드에 사용할 수 있는 조건입니다.
    • EmailSimpleCondition: 이메일 필드에 사용할 수 있는 조건입니다.
    • IntegerChoiceSimpleCondition: 정수 선택 필드에 사용할 수 있는 조건입니다.
    • NumericSimpleCondition: 다양한 숫자 필드에 사용할 수 있는 조건입니다.
    • ReferenceSimpleCondition: 참조 기록 필드에 사용할 수 있는 조건 연산자입니다.
    • StringChoiceSimpleCondition: 문자열을 포함하는 선택 기록 필드에 사용할 수 있는 조건 연산자입니다.
    • StringSimpleCondition: 문자열 레코드 필드에 사용할 수 있는 조건 연산자입니다.
    • CompoundCondition: ConditionUtils.CompoundOperator 커넥터를 사용하여 SimpleCondition을 복합 조건으로 그룹화할 수 있습니다.
    키워드 문자열 옵션입니다. 검색할 특정 단어 또는 구입니다.

    기본값: 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되는 하나 이상의 필터 기준을 기반으로 필터를 작성합니다.

    표 4. 매개변수
    이름 유형 설명
    기준 목록 목록<기준> 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))