@Override protected OperationBuilder<T> apply( Between between, boolean negated ) { T lower = converter.toLowerValue(between.getLowerBound(), variables); T upper = converter.toUpperValue(between.getUpperBound(), variables); boolean isLowerIncluded = between.isLowerBoundIncluded(); boolean isUpperIncluded = between.isUpperBoundIncluded(); if (negated) { OperationBuilder<T> lowerOp = create(keysByValue.headMap(lower, !isLowerIncluded)); OperationBuilder<T> upperOp = create(keysByValue.tailMap(upper, !isUpperIncluded)); return new DualOperationBuilder<>(lowerOp, upperOp); } return create(keysByValue.subMap(lower, isLowerIncluded, upper, isUpperIncluded)); }
@Override protected OperationBuilder<T> apply( Between between, boolean negated ) { T lower = converter.toLowerValue(between.getLowerBound(), variables); T upper = converter.toUpperValue(between.getUpperBound(), variables); boolean isLowerIncluded = between.isLowerBoundIncluded(); boolean isUpperIncluded = between.isUpperBoundIncluded(); if (negated) { OperationBuilder<T> lowerOp = create(keysByValue.headMap(lower, !isLowerIncluded)); OperationBuilder<T> upperOp = create(keysByValue.tailMap(upper, !isUpperIncluded)); return new DualOperationBuilder<>(lowerOp, upperOp); } return create(keysByValue.subMap(lower, isLowerIncluded, upper, isUpperIncluded)); }
.includeUpper(between.isUpperBoundIncluded());