Skip to content

Commit d94e9e8

Browse files
committed
Refine methods accepting floating-point Range values.
For easier usage we now use Range<? extends Number> instead of Range<Number> to allow Range<Double> usage. Original pull request: #2370. Closes #2421
1 parent 62932e2 commit d94e9e8

14 files changed

+125
-99
lines changed

src/main/java/org/springframework/data/redis/connection/DefaultStringRedisConnection.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -992,7 +992,7 @@ public Long zCount(byte[] key, double min, double max) {
992992
}
993993

994994
@Override
995-
public Long zCount(byte[] key, org.springframework.data.domain.Range<Number> range) {
995+
public Long zCount(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
996996
return convertAndReturn(delegate.zCount(key, range), Converters.identityConverter());
997997
}
998998

@@ -1102,18 +1102,18 @@ public Set<byte[]> zRangeByScore(byte[] key, double min, double max, long offset
11021102
}
11031103

11041104
@Override
1105-
public Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
1105+
public Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
11061106
return convertAndReturn(delegate.zRangeByScore(key, range), Converters.identityConverter());
11071107
}
11081108

11091109
@Override
1110-
public Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
1110+
public Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11111111
org.springframework.data.redis.connection.Limit limit) {
11121112
return convertAndReturn(delegate.zRangeByScore(key, range, limit), Converters.identityConverter());
11131113
}
11141114

11151115
@Override
1116-
public Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range) {
1116+
public Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
11171117
return convertAndReturn(delegate.zRangeByScoreWithScores(key, range), Converters.identityConverter());
11181118
}
11191119

@@ -1129,7 +1129,7 @@ public Set<Tuple> zRangeByScoreWithScores(byte[] key, double min, double max, lo
11291129
}
11301130

11311131
@Override
1132-
public Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
1132+
public Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11331133
org.springframework.data.redis.connection.Limit limit) {
11341134
return convertAndReturn(delegate.zRangeByScoreWithScores(key, range, limit), Converters.identityConverter());
11351135
}
@@ -1150,7 +1150,7 @@ public Set<byte[]> zRevRangeByScore(byte[] key, double min, double max, long off
11501150
}
11511151

11521152
@Override
1153-
public Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
1153+
public Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
11541154
return convertAndReturn(delegate.zRevRangeByScore(key, range), Converters.identityConverter());
11551155
}
11561156

@@ -1160,7 +1160,7 @@ public Set<byte[]> zRevRangeByScore(byte[] key, double min, double max) {
11601160
}
11611161

11621162
@Override
1163-
public Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
1163+
public Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11641164
org.springframework.data.redis.connection.Limit limit) {
11651165
return convertAndReturn(delegate.zRevRangeByScore(key, range, limit), Converters.identityConverter());
11661166
}
@@ -1172,12 +1172,14 @@ public Set<Tuple> zRevRangeByScoreWithScores(byte[] key, double min, double max,
11721172
}
11731173

11741174
@Override
1175-
public Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range) {
1175+
public Set<Tuple> zRevRangeByScoreWithScores(byte[] key,
1176+
org.springframework.data.domain.Range<? extends Number> range) {
11761177
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, range), Converters.identityConverter());
11771178
}
11781179

11791180
@Override
1180-
public Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
1181+
public Set<Tuple> zRevRangeByScoreWithScores(byte[] key,
1182+
org.springframework.data.domain.Range<? extends Number> range,
11811183
org.springframework.data.redis.connection.Limit limit) {
11821184
return convertAndReturn(delegate.zRevRangeByScoreWithScores(key, range, limit), Converters.identityConverter());
11831185
}
@@ -1213,7 +1215,7 @@ public Long zRemRangeByScore(byte[] key, double min, double max) {
12131215
}
12141216

12151217
@Override
1216-
public Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
1218+
public Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
12171219
return convertAndReturn(delegate.zRemRangeByScore(key, range), Converters.identityConverter());
12181220
}
12191221

@@ -2747,28 +2749,31 @@ public Long zRangeStoreRevByLex(String dstKey, String srcKey, org.springframewor
27472749

27482750
@Override
27492751
public Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey,
2750-
org.springframework.data.domain.Range<Number> range,
2752+
org.springframework.data.domain.Range<? extends Number> range,
27512753
org.springframework.data.redis.connection.Limit limit) {
27522754
return convertAndReturn(delegate.zRangeStoreByScore(dstKey, srcKey, range, limit),
27532755
Converters.identityConverter());
27542756
}
27552757

27562758
@Override
2757-
public Long zRangeStoreByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<Number> range,
2759+
public Long zRangeStoreByScore(String dstKey, String srcKey,
2760+
org.springframework.data.domain.Range<? extends Number> range,
27582761
org.springframework.data.redis.connection.Limit limit) {
27592762
return convertAndReturn(delegate.zRangeStoreByScore(serialize(dstKey), serialize(srcKey), range, limit),
27602763
Converters.identityConverter());
27612764
}
27622765

27632766
@Override
2764-
public Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<Number> range,
2767+
public Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey,
2768+
org.springframework.data.domain.Range<? extends Number> range,
27652769
org.springframework.data.redis.connection.Limit limit) {
27662770
return convertAndReturn(delegate.zRangeStoreRevByScore(dstKey, srcKey, range, limit),
27672771
Converters.identityConverter());
27682772
}
27692773

27702774
@Override
2771-
public Long zRangeStoreRevByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<Number> range,
2775+
public Long zRangeStoreRevByScore(String dstKey, String srcKey,
2776+
org.springframework.data.domain.Range<? extends Number> range,
27722777
org.springframework.data.redis.connection.Limit limit) {
27732778
return convertAndReturn(delegate.zRangeStoreRevByScore(serialize(dstKey), serialize(srcKey), range, limit),
27742779
Converters.identityConverter());

src/main/java/org/springframework/data/redis/connection/DefaultedRedisConnection.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ default Tuple bZPopMax(byte[] key, long timeout, TimeUnit unit) {
10181018
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
10191019
@Override
10201020
@Deprecated
1021-
default Long zCount(byte[] key, org.springframework.data.domain.Range<Number> range) {
1021+
default Long zCount(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
10221022
return zSetCommands().zCount(key, range);
10231023
}
10241024

@@ -1160,15 +1160,15 @@ default Set<byte[]> zRevRangeByLex(byte[] key, org.springframework.data.domain.R
11601160
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
11611161
@Override
11621162
@Deprecated
1163-
default Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
1163+
default Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11641164
org.springframework.data.redis.connection.Limit limit) {
11651165
return zSetCommands().zRangeByScore(key, range, limit);
11661166
}
11671167

11681168
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
11691169
@Override
11701170
@Deprecated
1171-
default Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
1171+
default Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11721172
org.springframework.data.redis.connection.Limit limit) {
11731173
return zSetCommands().zRangeByScoreWithScores(key, range, limit);
11741174
}
@@ -1183,15 +1183,16 @@ default Set<Tuple> zRevRangeWithScores(byte[] key, long start, long end) {
11831183
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
11841184
@Override
11851185
@Deprecated
1186-
default Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
1186+
default Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
11871187
org.springframework.data.redis.connection.Limit limit) {
11881188
return zSetCommands().zRevRangeByScore(key, range, limit);
11891189
}
11901190

11911191
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
11921192
@Override
11931193
@Deprecated
1194-
default Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
1194+
default Set<Tuple> zRevRangeByScoreWithScores(byte[] key,
1195+
org.springframework.data.domain.Range<? extends Number> range,
11951196
org.springframework.data.redis.connection.Limit limit) {
11961197
return zSetCommands().zRevRangeByScoreWithScores(key, range, limit);
11971198
}
@@ -1227,7 +1228,7 @@ default Long zRemRangeByLex(byte[] key, org.springframework.data.domain.Range<by
12271228
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
12281229
@Override
12291230
@Deprecated
1230-
default Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
1231+
default Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
12311232
return zSetCommands().zRemRangeByScore(key, range);
12321233
}
12331234

@@ -1858,15 +1859,16 @@ default Long zRangeStoreRevByLex(byte[] dstKey, byte[] srcKey, org.springframewo
18581859
@Override
18591860
@Deprecated
18601861
default Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey,
1861-
org.springframework.data.domain.Range<Number> range,
1862+
org.springframework.data.domain.Range<? extends Number> range,
18621863
org.springframework.data.redis.connection.Limit limit) {
18631864
return zSetCommands().zRangeStoreByScore(dstKey, srcKey, range, limit);
18641865
}
18651866

18661867
/** @deprecated in favor of {@link RedisConnection#zSetCommands()}}. */
18671868
@Override
18681869
@Deprecated
1869-
default Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<Number> range,
1870+
default Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey,
1871+
org.springframework.data.domain.Range<? extends Number> range,
18701872
org.springframework.data.redis.connection.Limit limit) {
18711873
return zSetCommands().zRangeStoreRevByScore(dstKey, srcKey, range, limit);
18721874
}

src/main/java/org/springframework/data/redis/connection/RedisZSetCommands.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,8 @@ default Set<byte[]> zRangeByScore(byte[] key, double min, double max) {
569569
* @see <a href="https://redis.io/commands/zrangebyscore">Redis Documentation: ZRANGEBYSCORE</a>
570570
*/
571571
@Nullable
572-
default Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range) {
572+
default Set<Tuple> zRangeByScoreWithScores(byte[] key,
573+
org.springframework.data.domain.Range<? extends Number> range) {
573574
return zRangeByScoreWithScores(key, range, Limit.unlimited());
574575
}
575576

@@ -641,7 +642,7 @@ default Set<Tuple> zRangeByScoreWithScores(byte[] key, double min, double max, l
641642
* @see <a href="https://redis.io/commands/zrangebyscore">Redis Documentation: ZRANGEBYSCORE</a>
642643
*/
643644
@Nullable
644-
Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
645+
Set<Tuple> zRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
645646
org.springframework.data.redis.connection.Limit limit);
646647

647648
/**
@@ -697,7 +698,7 @@ default Set<byte[]> zRevRangeByScore(byte[] key, double min, double max) {
697698
* @see <a href="https://redis.io/commands/zrevrangebyscore">Redis Documentation: ZREVRANGEBYSCORE</a>
698699
*/
699700
@Nullable
700-
default Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
701+
default Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
701702
return zRevRangeByScore(key, range, Limit.unlimited());
702703
}
703704

@@ -748,7 +749,7 @@ default Set<byte[]> zRevRangeByScore(byte[] key, double min, double max, long of
748749
* @see <a href="https://redis.io/commands/zrevrangebyscore">Redis Documentation: ZREVRANGEBYSCORE</a>
749750
*/
750751
@Nullable
751-
Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
752+
Set<byte[]> zRevRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
752753
org.springframework.data.redis.connection.Limit limit);
753754

754755
/**
@@ -782,7 +783,8 @@ default Set<Tuple> zRevRangeByScoreWithScores(byte[] key, double min, double max
782783
* @see <a href="https://redis.io/commands/zrevrangebyscore">Redis Documentation: ZREVRANGEBYSCORE</a>
783784
*/
784785
@Nullable
785-
default Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range) {
786+
default Set<Tuple> zRevRangeByScoreWithScores(byte[] key,
787+
org.springframework.data.domain.Range<? extends Number> range) {
786788
return zRevRangeByScoreWithScores(key, range, Limit.unlimited());
787789
}
788790

@@ -798,7 +800,7 @@ default Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.da
798800
* @see <a href="https://redis.io/commands/zrevrangebyscore">Redis Documentation: ZREVRANGEBYSCORE</a>
799801
*/
800802
@Nullable
801-
Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<Number> range,
803+
Set<Tuple> zRevRangeByScoreWithScores(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
802804
org.springframework.data.redis.connection.Limit limit);
803805

804806
/**
@@ -825,7 +827,7 @@ default Long zCount(byte[] key, double min, double max) {
825827
* @see <a href="https://redis.io/commands/zcount">Redis Documentation: ZCOUNT</a>
826828
*/
827829
@Nullable
828-
Long zCount(byte[] key, org.springframework.data.domain.Range<Number> range);
830+
Long zCount(byte[] key, org.springframework.data.domain.Range<? extends Number> range);
829831

830832
/**
831833
* Count number of elements within sorted set with value between {@code Range#min} and {@code Range#max} applying
@@ -994,7 +996,7 @@ default Long zRemRangeByScore(byte[] key, double min, double max) {
994996
* @see <a href="https://redis.io/commands/zremrangebyscore">Redis Documentation: ZREMRANGEBYSCORE</a>
995997
*/
996998
@Nullable
997-
Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range);
999+
Long zRemRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range);
9981000

9991001
/**
10001002
* Diff sorted {@code sets}.
@@ -1247,7 +1249,7 @@ default Set<byte[]> zRangeByScore(byte[] key, String min, String max) {
12471249
* @see <a href="https://redis.io/commands/zrangebyscore">Redis Documentation: ZRANGEBYSCORE</a>
12481250
*/
12491251
@Nullable
1250-
default Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range) {
1252+
default Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range) {
12511253
return zRangeByScore(key, range, Limit.unlimited());
12521254
}
12531255

@@ -1279,7 +1281,7 @@ default Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Ra
12791281
* @see <a href="https://redis.io/commands/zrangebyscore">Redis Documentation: ZRANGEBYSCORE</a>
12801282
*/
12811283
@Nullable
1282-
Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<Number> range,
1284+
Set<byte[]> zRangeByScore(byte[] key, org.springframework.data.domain.Range<? extends Number> range,
12831285
org.springframework.data.redis.connection.Limit limit);
12841286

12851287
/**
@@ -1439,7 +1441,8 @@ Long zRangeStoreRevByLex(byte[] dstKey, byte[] srcKey, org.springframework.data.
14391441
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
14401442
*/
14411443
@Nullable
1442-
default Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<Number> range) {
1444+
default Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey,
1445+
org.springframework.data.domain.Range<? extends Number> range) {
14431446
return zRangeStoreByScore(dstKey, srcKey, range, org.springframework.data.redis.connection.Limit.unlimited());
14441447
}
14451448

@@ -1455,7 +1458,7 @@ default Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey, org.springframewor
14551458
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
14561459
*/
14571460
@Nullable
1458-
Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<Number> range,
1461+
Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<? extends Number> range,
14591462
org.springframework.data.redis.connection.Limit limit);
14601463

14611464
/**
@@ -1470,7 +1473,7 @@ Long zRangeStoreByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.d
14701473
*/
14711474
@Nullable
14721475
default Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey,
1473-
org.springframework.data.domain.Range<Number> range) {
1476+
org.springframework.data.domain.Range<? extends Number> range) {
14741477
return zRangeStoreRevByScore(dstKey, srcKey, range, org.springframework.data.redis.connection.Limit.unlimited());
14751478
}
14761479

@@ -1486,7 +1489,8 @@ default Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey,
14861489
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
14871490
*/
14881491
@Nullable
1489-
Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey, org.springframework.data.domain.Range<Number> range,
1492+
Long zRangeStoreRevByScore(byte[] dstKey, byte[] srcKey,
1493+
org.springframework.data.domain.Range<? extends Number> range,
14901494
org.springframework.data.redis.connection.Limit limit);
14911495

14921496
}

src/main/java/org/springframework/data/redis/connection/StringRedisConnection.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2059,7 +2059,8 @@ Long zRangeStoreRevByLex(String dstKey, String srcKey, org.springframework.data.
20592059
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
20602060
*/
20612061
@Nullable
2062-
default Long zRangeStoreByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<Number> range) {
2062+
default Long zRangeStoreByScore(String dstKey, String srcKey,
2063+
org.springframework.data.domain.Range<? extends Number> range) {
20632064
return zRangeStoreByScore(dstKey, srcKey, range, org.springframework.data.redis.connection.Limit.unlimited());
20642065
}
20652066

@@ -2075,7 +2076,7 @@ default Long zRangeStoreByScore(String dstKey, String srcKey, org.springframewor
20752076
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
20762077
*/
20772078
@Nullable
2078-
Long zRangeStoreByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<Number> range,
2079+
Long zRangeStoreByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<? extends Number> range,
20792080
org.springframework.data.redis.connection.Limit limit);
20802081

20812082
/**
@@ -2090,7 +2091,7 @@ Long zRangeStoreByScore(String dstKey, String srcKey, org.springframework.data.d
20902091
*/
20912092
@Nullable
20922093
default Long zRangeStoreRevByScore(String dstKey, String srcKey,
2093-
org.springframework.data.domain.Range<Number> range) {
2094+
org.springframework.data.domain.Range<? extends Number> range) {
20942095
return zRangeStoreRevByScore(dstKey, srcKey, range, org.springframework.data.redis.connection.Limit.unlimited());
20952096
}
20962097

@@ -2106,7 +2107,8 @@ default Long zRangeStoreRevByScore(String dstKey, String srcKey,
21062107
* @see <a href="https://redis.io/commands/zrangestore">Redis Documentation: ZRANGESTORE</a>
21072108
*/
21082109
@Nullable
2109-
Long zRangeStoreRevByScore(String dstKey, String srcKey, org.springframework.data.domain.Range<Number> range,
2110+
Long zRangeStoreRevByScore(String dstKey, String srcKey,
2111+
org.springframework.data.domain.Range<? extends Number> range,
21102112
org.springframework.data.redis.connection.Limit limit);
21112113

21122114
// -------------------------------------------------------------------------

0 commit comments

Comments
 (0)