From 418bf5acce644200b8fbc1278269928559d875fe Mon Sep 17 00:00:00 2001 From: Nikita Date: Wed, 7 Sep 2016 17:32:25 +0300 Subject: [PATCH] refactoring --- .../main/java/org/redisson/RedissonMap.java | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonMap.java b/redisson/src/main/java/org/redisson/RedissonMap.java index 5765a31d3..dd329f247 100644 --- a/redisson/src/main/java/org/redisson/RedissonMap.java +++ b/redisson/src/main/java/org/redisson/RedissonMap.java @@ -414,16 +414,20 @@ public class RedissonMap extends RedissonExpirable implements RMap { return h; } + protected Iterator keyIterator() { + return new RedissonMapIterator(RedissonMap.this) { + @Override + K getValue(java.util.Map.Entry entry) { + return (K) entry.getKey().getObj(); + } + }; + } + final class KeySet extends AbstractSet { @Override public Iterator iterator() { - return new RedissonMapIterator(RedissonMap.this) { - @Override - K getValue(java.util.Map.Entry entry) { - return (K) entry.getKey().getObj(); - } - }; + return keyIterator(); } @Override @@ -448,16 +452,20 @@ public class RedissonMap extends RedissonExpirable implements RMap { } + protected Iterator valueIterator() { + return new RedissonMapIterator(RedissonMap.this) { + @Override + V getValue(java.util.Map.Entry entry) { + return (V) entry.getValue().getObj(); + } + }; + } + final class Values extends AbstractCollection { @Override public Iterator iterator() { - return new RedissonMapIterator(RedissonMap.this) { - @Override - V getValue(java.util.Map.Entry entry) { - return (V) entry.getValue().getObj(); - } - }; + return valueIterator(); } @Override @@ -477,10 +485,15 @@ public class RedissonMap extends RedissonExpirable implements RMap { } + protected final Iterator> entryIterator() { + return new RedissonMapIterator>(RedissonMap.this); + } + + final class EntrySet extends AbstractSet> { public final Iterator> iterator() { - return new RedissonMapIterator>(RedissonMap.this); + return entryIterator(); } public final boolean contains(Object o) {