public static Filter deserialize()

in java/tsfile/src/main/java/org/apache/tsfile/read/filter/basic/Filter.java [197:251]


  public static Filter deserialize(ByteBuffer buffer) {
    OperatorType type = OperatorType.values()[ReadWriteIOUtils.readInt(buffer)];

    switch (type) {
      case TIME_EQ:
        return new TimeFilterOperators.TimeEq(buffer);
      case TIME_NEQ:
        return new TimeFilterOperators.TimeNotEq(buffer);
      case TIME_GT:
        return new TimeFilterOperators.TimeGt(buffer);
      case TIME_GTEQ:
        return new TimeFilterOperators.TimeGtEq(buffer);
      case TIME_LT:
        return new TimeFilterOperators.TimeLt(buffer);
      case TIME_LTEQ:
        return new TimeFilterOperators.TimeLtEq(buffer);
      case TIME_IN:
        return new TimeFilterOperators.TimeIn(buffer);
      case TIME_NOT_IN:
        return new TimeFilterOperators.TimeNotIn(buffer);
      case TIME_BETWEEN_AND:
        return new TimeFilterOperators.TimeBetweenAnd(buffer);
      case TIME_NOT_BETWEEN_AND:
        return new TimeFilterOperators.TimeNotBetweenAnd(buffer);
      case VALUE_EQ:
      case VALUE_NEQ:
      case VALUE_GT:
      case VALUE_GTEQ:
      case VALUE_LT:
      case VALUE_LTEQ:
      case VALUE_IS_NULL:
      case VALUE_IS_NOT_NULL:
      case VALUE_IN:
      case VALUE_NOT_IN:
      case VALUE_REGEXP:
      case VALUE_NOT_REGEXP:
      case VALUE_LIKE:
      case VALUE_NOT_LIKE:
      case VALUE_BETWEEN_AND:
      case VALUE_NOT_BETWEEN_AND:
        return FilterDeserialize.deserializeValueFilter(type, buffer);
      case GROUP_BY_TIME:
        return new GroupByFilter(buffer);
      case GROUP_BY_MONTH:
        return new GroupByMonthFilter(buffer);
      case AND:
        return new And(buffer);
      case OR:
        return new Or(buffer);
      case NOT:
        return new Not(buffer);
      default:
        throw new UnsupportedOperationException("Unsupported operator type:" + type);
    }
  }