Class FilterParser

java.lang.Object
io.leandev.appfuse.search.FilterParser

public class FilterParser extends Object

RSQL 查詢字串解析器,將 RSQL 語法轉換為 Filter 物件。

此解析器支援標準 RSQL 運算子以及擴充運算子:

  • 標準運算子:==, !=, =gt=, =ge=, =lt=, =le=, =in=, =out=
  • 擴充運算子:=has=, =between=, =is=, =isnot=

解析器會自動偵測並轉換參數類型:

  • 整數:轉換為 Long
  • 浮點數:轉換為 BigDecimal
  • 布林值:轉換為 Boolean
  • ISO 日期:轉換為 Date
  • "null" 字串:轉換為 null 值

使用範例:

FilterParser parser = new FilterParser();
Filter filter = parser.parse("status==ACTIVE;amount=ge=100");
  • Constructor Details

    • FilterParser

      public FilterParser()

      建立 RSQL 查詢解析器。

      初始化時會註冊標準 RSQL 運算子以及擴充運算子(HAS、BETWEEN、IS、IS_NOT)。

  • Method Details

    • parse

      public Filter parse(String text)
      解析 RSQL 查詢字串並轉換為 Filter 物件。
      Parameters:
      text - RSQL 查詢字串;若為 null 則回傳空篩選器
      Returns:
      解析後的篩選器物件