diff --git a/src/main/java/redis/clients/jedis/ScanResult.java b/src/main/java/redis/clients/jedis/ScanResult.java index bf1bbd4..d864ee5 100644 --- a/src/main/java/redis/clients/jedis/ScanResult.java +++ b/src/main/java/redis/clients/jedis/ScanResult.java @@ -5,7 +5,7 @@ import java.util.List; import redis.clients.util.SafeEncoder; public class ScanResult { - private String cursor; + private byte[] cursor; private List results; @Deprecated @@ -15,20 +15,18 @@ public class ScanResult { * @see https://github.com/xetorthio/jedis/issues/531 */ public ScanResult(int cursor, List results) { - this.cursor = String.valueOf(cursor); - this.results = results; + this(Protocol.toByteArray(cursor), results); + } + + public ScanResult(String cursor, List results) { + this(SafeEncoder.encode(cursor), results); } public ScanResult(byte[] cursor, List results) { - this.cursor = SafeEncoder.encode(cursor); - this.results = results; - } - - public ScanResult(String cursor, List results) { this.cursor = cursor; this.results = results; } - + @Deprecated /** * This method is deprecated due to bug (scan cursor should be unsigned long) @@ -37,18 +35,18 @@ public class ScanResult { * @return int(currently), but will be changed to String, so be careful to prepare! */ public int getCursor() { - return Integer.parseInt(cursor); + return Integer.parseInt(getStringCursor()); } /** * FIXME: This method should be changed to getCursor() on next major release */ public String getStringCursor() { - return cursor; + return SafeEncoder.encode(cursor); } public byte[] getBinaryCursor() { - return SafeEncoder.encode(cursor); + return cursor; } public List getResult() {