필터 API - Android

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

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

    필터 - 필터(조건: List<Condition>, 키워드: String? = null, sortBy: List<Sort>? = null)

    OR'd 또는 AND'd가 될 수 있는 특정 키워드 및 조건을 기반으로 필터를 작성합니다.

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

    함께 OR인 하나 이상의 필터 기준에 따라 필터를 생성합니다.

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