Class Filters

java.lang.Object
com.altibase.document.api.Filters

public final class Filters extends Object
Altibase Document 필터를 프로그래매틱하게 생성하기 위한 유틸리티 클래스.

이 클래스는 MongoDB의 com.mongodb.client.model.Filters와 유사한 타입-세이프(type-safe) 빌더 패턴을 제공하여, JSON 문자열을 직접 작성하는 대신 Java 메소드를 통해 쿼리 조건을 구성할 수 있도록 돕는다.

사용 예시:


 import static com.altibase.document.api.Filters.*;

 // { "status": "active", "age": { "$gt": 30 } }
 AltibaseDocument sFilter = and(eq("status", "active"), gt("age", 30));

 // findByCond는 AltibaseDocument를 그대로 사용
 collection.findByCond(sFilter).execute();
 
See Also:
  • Method Details

    • eq

      public static AltibaseDocument eq(String aFieldName, Object aValue)
      필드 값이 지정된 값과 일치하는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • ne

      public static AltibaseDocument ne(String aFieldName, Object aValue)
      필드 값이 지정된 값과 일치하지 않는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • gt

      public static AltibaseDocument gt(String aFieldName, Object aValue)
      필드 값이 지정된 값보다 큰 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • gte

      public static AltibaseDocument gte(String aFieldName, Object aValue)
      필드 값이 지정된 값보다 크거나 같은 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • lt

      public static AltibaseDocument lt(String aFieldName, Object aValue)
      필드 값이 지정된 값보다 작은 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • lte

      public static AltibaseDocument lte(String aFieldName, Object aValue)
      필드 값이 지정된 값보다 작거나 같은 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValue - 비교할 값
      Returns:
      생성된 필터 Document
    • in

      public static AltibaseDocument in(String aFieldName, Object... aValues)
      필드 값이 지정된 값들의 배열에 포함되는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValues - 비교할 값들의 배열
      Returns:
      생성된 필터 Document
    • in

      public static AltibaseDocument in(String aFieldName, Collection<?> aValues)
      필드 값이 지정된 값들의 컬렉션에 포함되는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValues - 비교할 값들의 컬렉션
      Returns:
      생성된 필터 Document
    • nin

      public static AltibaseDocument nin(String aFieldName, Object... aValues)
      필드 값이 지정된 값들의 배열에 포함되지 않는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aValues - 비교할 값들의 배열
      Returns:
      생성된 필터 Document
    • and

      public static AltibaseDocument and(AltibaseDocument... aFilters)
      모든 필터 조건들을 만족하는 문서를 찾기 위한 AND 논리 필터를 생성한다.
      Parameters:
      aFilters - AND로 연결할 필터들
      Returns:
      생성된 필터 Document
    • or

      public static AltibaseDocument or(AltibaseDocument... aFilters)
      필터 조건들 중 하나라도 만족하는 문서를 찾기 위한 OR 논리 필터를 생성한다.
      Parameters:
      aFilters - OR로 연결할 필터들
      Returns:
      생성된 필터 Document
    • not

      public static AltibaseDocument not(AltibaseDocument aFilter)
      지정된 필터 조건을 만족하지 않는 문서를 찾기 위한 NOT 논리 필터를 생성한다.
      Parameters:
      aFilter - 부정할 필터
      Returns:
      생성된 필터 Document
    • exists

      public static AltibaseDocument exists(String aFieldName, boolean aExists)
      지정된 필드가 존재하는지 여부를 확인하는 필터를 생성한다.
      Parameters:
      aFieldName - 필드 이름
      aExists - 필드가 존재해야 하면 true, 존재하지 않아야 하면 false
      Returns:
      생성된 필터 Document
    • elemMatch

      public static AltibaseDocument elemMatch(String aFieldName, AltibaseDocument aMatchCondition)
      배열 필드 내의 요소 중 지정된 모든 조건을 만족하는 요소가 하나 이상 존재하는 문서를 찾기 위한 필터를 생성한다.
      Parameters:
      aFieldName - 배열 필드의 이름
      aMatchCondition - 배열 요소가 만족해야 할 조건 Document
      Returns:
      생성된 필터 Document