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);
}
}