diff --git a/docs/src/reference/docbook/appendix/appendix-command-reference.xml b/docs/src/reference/docbook/appendix/appendix-command-reference.xml index 4b52a67b7..7dca9419f 100644 --- a/docs/src/reference/docbook/appendix/appendix-command-reference.xml +++ b/docs/src/reference/docbook/appendix/appendix-command-reference.xml @@ -62,7 +62,7 @@ HLENX HMGETX HMSETX - HSCAN- + HSCANX HSETX HSETNXX HVALSX @@ -111,7 +111,7 @@ RPUSHXX SADDX SAVEX - SCAN- + SCANX SCARDX SCRIPT EXITSX SCRIPT FLUSHX @@ -146,7 +146,7 @@ SPOPX SRANDMEMBERX SREMX - SSCAN- + SSCANX STRLENX SUBSCRIBEX SUNIONX @@ -171,7 +171,7 @@ ZREVRANGEX ZREVRANGEBYSCOREX ZREVRANKX - ZSCAN- + ZSCANX ZSCOREX ZUNINONSTOREX diff --git a/src/main/java/org/springframework/data/redis/connection/RedisHashCommands.java b/src/main/java/org/springframework/data/redis/connection/RedisHashCommands.java index b419615e3..9d7b3e522 100644 --- a/src/main/java/org/springframework/data/redis/connection/RedisHashCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/RedisHashCommands.java @@ -162,10 +162,11 @@ public interface RedisHashCommands { /** * Use a {@link Cursor} to iterate over entries in hash at {@code key}. * + * @since 1.4 + * @see http://redis.io/commands/scan * @param key * @param options * @return - * @since 1.4 */ Cursor> hScan(byte[] key, ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/connection/RedisZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/RedisZSetCommands.java index 90f22c72c..10c004264 100644 --- a/src/main/java/org/springframework/data/redis/connection/RedisZSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/RedisZSetCommands.java @@ -339,10 +339,11 @@ public interface RedisZSetCommands { /** * Use a {@link Cursor} to iterate over elements in sorted set at {@code key}. * + * @since 1.4 + * @see http://redis.io/commands/scan * @param key * @param options * @return - * @since 1.4 */ Cursor zScan(byte[] key, ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/connection/StringRedisConnection.java b/src/main/java/org/springframework/data/redis/connection/StringRedisConnection.java index 20e7644a5..680a0debd 100644 --- a/src/main/java/org/springframework/data/redis/connection/StringRedisConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/StringRedisConnection.java @@ -320,29 +320,29 @@ public interface StringRedisConnection extends RedisConnection { List getClientList(); /** + * @since 1.4 * @see RedisHashCommands#hScan(byte[], ScanOptions) * @param key * @param options * @return - * @since 1.4 */ Cursor> hScan(String key, ScanOptions options); /** + * @since 1.4 * @see RedisSetCommands#sScan(byte[], ScanOptions) * @param key * @param options * @return - * @since 1.4 */ Cursor sScan(String key, ScanOptions options); /** + * @since 1.4 * @see RedisZSetCommands#zScan(byte[], ScanOptions) * @param key * @param options * @return - * @since 1.4 */ Cursor zScan(String key, ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java index 2727d7ac3..b857d5d66 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java @@ -2910,6 +2910,10 @@ public class JedisConnection implements RedisConnection { } } + /** + * @since 1.4 + * @return + */ public Cursor scan() { return scan(ScanOptions.NONE); } @@ -2928,7 +2932,6 @@ public class JedisConnection implements RedisConnection { * @param options * @return */ - @SuppressWarnings("resource") public Cursor scan(long cursorId, ScanOptions options) { return new ScanCursor(cursorId, options) { @@ -2960,11 +2963,11 @@ public class JedisConnection implements RedisConnection { } /** + * @since 1.4 * @param key * @param cursorId * @param options * @return - * @since 1.4 */ public Cursor zScan(byte[] key, Long cursorId, ScanOptions options) { @@ -3022,12 +3025,23 @@ public class JedisConnection implements RedisConnection { }.open(); } + /* + * (non-Javadoc) + * @see org.springframework.data.redis.connection.RedisHashCommands#hScan(byte[], org.springframework.data.redis.core.ScanOptions) + */ @Override public Cursor> hScan(byte[] key, ScanOptions options) { - return hscan(key, 0, options); + return hScan(key, 0, options); } - public Cursor> hscan(byte[] key, long cursorId, ScanOptions options) { + /** + * @since 1.4 + * @param key + * @param cursorId + * @param options + * @return + */ + public Cursor> hScan(byte[] key, long cursorId, ScanOptions options) { return new KeyBoundCursor>(key, cursorId, options) { diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java index d4cd9cd5a..0dee9252a 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java @@ -3033,6 +3033,10 @@ public class LettuceConnection implements RedisConnection { } } + /** + * @since 1.4 + * @return + */ public Cursor scan() { return scan(0, ScanOptions.NONE); } @@ -3080,17 +3084,17 @@ public class LettuceConnection implements RedisConnection { */ @Override public Cursor> hScan(byte[] key, ScanOptions options) { - return hscan(key, 0, options); + return hScan(key, 0, options); } /** + * @since 1.4 * @param key * @param cursorId * @param options * @return - * @since 1.4 */ - public Cursor> hscan(byte[] key, long cursorId, ScanOptions options) { + public Cursor> hScan(byte[] key, long cursorId, ScanOptions options) { return new KeyBoundCursor>(key, cursorId, options) { @@ -3165,11 +3169,11 @@ public class LettuceConnection implements RedisConnection { } /** + * @since 1.4 * @param key * @param cursorId * @param options * @return - * @since 1.4 */ public Cursor zScan(byte[] key, long cursorId, ScanOptions options) { diff --git a/src/main/java/org/springframework/data/redis/core/BoundHashOperations.java b/src/main/java/org/springframework/data/redis/core/BoundHashOperations.java index 219208b10..ec0028e4f 100644 --- a/src/main/java/org/springframework/data/redis/core/BoundHashOperations.java +++ b/src/main/java/org/springframework/data/redis/core/BoundHashOperations.java @@ -16,7 +16,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -58,9 +57,9 @@ public interface BoundHashOperations extends BoundKeyOperations { Map entries(); /** - * @param key * @since 1.4 + * @param key * @return */ - Iterator> scan(H key, ScanOptions options); + Cursor> scan(ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/core/BoundSetOperations.java b/src/main/java/org/springframework/data/redis/core/BoundSetOperations.java index 14f4d44bf..8d331e8da 100644 --- a/src/main/java/org/springframework/data/redis/core/BoundSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/BoundSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Set; @@ -79,5 +78,5 @@ public interface BoundSetOperations extends BoundKeyOperations { * @return * @since 1.4 */ - Iterator sScan(ScanOptions options); + Cursor scan(ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/core/BoundZSetOperations.java b/src/main/java/org/springframework/data/redis/core/BoundZSetOperations.java index 5cc36ebf5..161fc5d7b 100644 --- a/src/main/java/org/springframework/data/redis/core/BoundZSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/BoundZSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.Set; import org.springframework.data.redis.core.ZSetOperations.TypedTuple; @@ -97,5 +96,5 @@ public interface BoundZSetOperations extends BoundKeyOperations { * @return * @since 1.4 */ - Iterator> scan(ScanOptions options); + Cursor> scan(ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/core/DefaultBoundHashOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultBoundHashOperations.java index 00ca107a0..647714324 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultBoundHashOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultBoundHashOperations.java @@ -16,7 +16,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -111,7 +110,7 @@ class DefaultBoundHashOperations extends DefaultBoundKeyOperations * @see org.springframework.data.redis.core.BoundHashOperations#hscan(java.lang.Object) */ @Override - public Iterator> scan(H key, ScanOptions options) { - return ops.scan(key, options); + public Cursor> scan(ScanOptions options) { + return ops.scan(getKey(), options); } } diff --git a/src/main/java/org/springframework/data/redis/core/DefaultBoundSetOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultBoundSetOperations.java index f249e61cf..7386263d5 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultBoundSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultBoundSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Set; @@ -145,7 +144,7 @@ class DefaultBoundSetOperations extends DefaultBoundKeyOperations imple * @see org.springframework.data.redis.core.BoundSetOperations#sScan(org.springframework.data.redis.core.ScanOptions) */ @Override - public Iterator sScan(ScanOptions options) { - return ops.sScan(getKey(), options); + public Cursor scan(ScanOptions options) { + return ops.scan(getKey(), options); } } diff --git a/src/main/java/org/springframework/data/redis/core/DefaultBoundZSetOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultBoundZSetOperations.java index 4e286a7be..6d60d6710 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultBoundZSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultBoundZSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.Set; import org.springframework.data.redis.connection.DataType; @@ -163,7 +162,7 @@ class DefaultBoundZSetOperations extends DefaultBoundKeyOperations impl * @see org.springframework.data.redis.core.BoundZSetOperations#scan(org.springframework.data.redis.core.ScanOptions) */ @Override - public Iterator> scan(ScanOptions options) { + public Cursor> scan(ScanOptions options) { return ops.scan(getKey(), options); } } diff --git a/src/main/java/org/springframework/data/redis/core/DefaultHashOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultHashOperations.java index 3984296e9..dcba9aadc 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultHashOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultHashOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -233,7 +232,7 @@ class DefaultHashOperations extends AbstractOperations imp * @see org.springframework.data.redis.core.HashOperations#hscan(java.lang.Object, org.springframework.data.redis.core.ScanOptions) */ @Override - public Iterator> scan(K key, final ScanOptions options) { + public Cursor> scan(K key, final ScanOptions options) { final byte[] rawKey = rawKey(key); return execute(new RedisCallback>>() { diff --git a/src/main/java/org/springframework/data/redis/core/DefaultSetOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultSetOperations.java index 18e5bb1f9..2f0d641cd 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultSetOperations.java @@ -253,7 +253,7 @@ class DefaultSetOperations extends AbstractOperations implements Set * @see org.springframework.data.redis.core.SetOperations#sScan(java.lang.Object, org.springframework.data.redis.core.ScanOptions) */ @Override - public Cursor sScan(K key, final ScanOptions options) { + public Cursor scan(K key, final ScanOptions options) { final byte[] rawKey = rawKey(key); return execute(new RedisCallback>() { diff --git a/src/main/java/org/springframework/data/redis/core/DefaultZSetOperations.java b/src/main/java/org/springframework/data/redis/core/DefaultZSetOperations.java index 794965201..662619412 100644 --- a/src/main/java/org/springframework/data/redis/core/DefaultZSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/DefaultZSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.Set; import org.springframework.core.convert.converter.Converter; @@ -374,7 +373,7 @@ class DefaultZSetOperations extends AbstractOperations implements ZS * @see org.springframework.data.redis.core.ZSetOperations#scan(java.lang.Object, org.springframework.data.redis.core.ScanOptions) */ @Override - public Iterator> scan(K key, final ScanOptions options) { + public Cursor> scan(K key, final ScanOptions options) { final byte[] rawKey = rawKey(key); Cursor cursor = execute(new RedisCallback>() { diff --git a/src/main/java/org/springframework/data/redis/core/HashOperations.java b/src/main/java/org/springframework/data/redis/core/HashOperations.java index 20493af95..37ae67966 100644 --- a/src/main/java/org/springframework/data/redis/core/HashOperations.java +++ b/src/main/java/org/springframework/data/redis/core/HashOperations.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2013 the original author or authors. + * Copyright 2011-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -25,6 +24,7 @@ import java.util.Set; * Redis map specific operations working on a hash. * * @author Costin Leau + * @author Christoph Strobl */ public interface HashOperations { @@ -57,10 +57,10 @@ public interface HashOperations { RedisOperations getOperations(); /** - * @param key * @since 1.4 + * @param key * @param options * @return */ - Iterator> scan(H key, ScanOptions options); + Cursor> scan(H key, ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/core/SetOperations.java b/src/main/java/org/springframework/data/redis/core/SetOperations.java index 5825df3d0..b6a3dac56 100644 --- a/src/main/java/org/springframework/data/redis/core/SetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/SetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Set; @@ -78,10 +77,10 @@ public interface SetOperations { /** * Iterate over elements in set at {@code key}. * + * @since 1.4 * @param key * @param options * @return - * @since 1.4 */ - Iterator sScan(K key, ScanOptions options); + Cursor scan(K key, ScanOptions options); } diff --git a/src/main/java/org/springframework/data/redis/core/ZSetOperations.java b/src/main/java/org/springframework/data/redis/core/ZSetOperations.java index 85e3ffd80..d5df5c344 100644 --- a/src/main/java/org/springframework/data/redis/core/ZSetOperations.java +++ b/src/main/java/org/springframework/data/redis/core/ZSetOperations.java @@ -17,7 +17,6 @@ package org.springframework.data.redis.core; import java.util.Collection; -import java.util.Iterator; import java.util.Set; /** @@ -110,10 +109,10 @@ public interface ZSetOperations { RedisOperations getOperations(); /** + * @since 1.4 * @param key * @param options * @return - * @since 1.4 */ - Iterator> scan(K key, ScanOptions options); + Cursor> scan(K key, ScanOptions options); } diff --git a/src/test/java/org/springframework/data/redis/core/DefaultSetOperationsTests.java b/src/test/java/org/springframework/data/redis/core/DefaultSetOperationsTests.java index 9725aac64..1a333cb02 100644 --- a/src/test/java/org/springframework/data/redis/core/DefaultSetOperationsTests.java +++ b/src/test/java/org/springframework/data/redis/core/DefaultSetOperationsTests.java @@ -214,7 +214,7 @@ public class DefaultSetOperationsTests { V v3 = valueFactory.instance(); setOps.add(key, v1, v2, v3); - Iterator it = setOps.sScan(key, ScanOptions.scanOptions().count(1).build()); + Iterator it = setOps.scan(key, ScanOptions.scanOptions().count(1).build()); long count = 0; while (it.hasNext()) { assertThat(it.next(), anyOf(equalTo(v1), equalTo(v2), equalTo(v3)));