From d669c0236cdeff891d18e79544be957a004e5038 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 9 Jan 2014 21:59:11 +0400 Subject: [PATCH] Comments added --- ...ener.java => RedisPubSubTopicListenerWrapper.java} | 10 ++++++---- src/main/java/org/redisson/RedissonTopic.java | 9 ++++----- src/main/java/org/redisson/core/MessageListener.java | 9 +++++++++ src/main/java/org/redisson/core/RAtomicLong.java | 11 +++++++++++ src/main/java/org/redisson/core/RCountDownLatch.java | 6 ++++++ src/main/java/org/redisson/core/RList.java | 7 +++++++ src/main/java/org/redisson/core/RLock.java | 6 ++++++ src/main/java/org/redisson/core/RMap.java | 9 +++++++++ src/main/java/org/redisson/core/RObject.java | 6 ++++++ src/main/java/org/redisson/core/RQueue.java | 7 +++++++ src/main/java/org/redisson/core/RSet.java | 7 +++++++ src/main/java/org/redisson/core/RTopic.java | 2 ++ 12 files changed, 80 insertions(+), 9 deletions(-) rename src/main/java/org/redisson/{core/RedisPubSubTopicListener.java => RedisPubSubTopicListenerWrapper.java} (84%) diff --git a/src/main/java/org/redisson/core/RedisPubSubTopicListener.java b/src/main/java/org/redisson/RedisPubSubTopicListenerWrapper.java similarity index 84% rename from src/main/java/org/redisson/core/RedisPubSubTopicListener.java rename to src/main/java/org/redisson/RedisPubSubTopicListenerWrapper.java index 929d23946..8bd266d41 100644 --- a/src/main/java/org/redisson/core/RedisPubSubTopicListener.java +++ b/src/main/java/org/redisson/RedisPubSubTopicListenerWrapper.java @@ -13,16 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.redisson.core; +package org.redisson; + +import org.redisson.core.MessageListener; import com.lambdaworks.redis.pubsub.RedisPubSubAdapter; -public class RedisPubSubTopicListener extends RedisPubSubAdapter { +public class RedisPubSubTopicListenerWrapper extends RedisPubSubAdapter { private final MessageListener listener; private final K name; - public RedisPubSubTopicListener(MessageListener listener, K name) { + public RedisPubSubTopicListenerWrapper(MessageListener listener, K name) { super(); this.listener = listener; this.name = name; @@ -52,7 +54,7 @@ public class RedisPubSubTopicListener extends RedisPubSubAdapter { return false; if (getClass() != obj.getClass()) return false; - RedisPubSubTopicListener other = (RedisPubSubTopicListener) obj; + RedisPubSubTopicListenerWrapper other = (RedisPubSubTopicListenerWrapper) obj; if (listener == null) { if (other.listener != null) return false; diff --git a/src/main/java/org/redisson/RedissonTopic.java b/src/main/java/org/redisson/RedissonTopic.java index d44318860..c396712df 100644 --- a/src/main/java/org/redisson/RedissonTopic.java +++ b/src/main/java/org/redisson/RedissonTopic.java @@ -24,7 +24,6 @@ import org.redisson.connection.ConnectionManager; import org.redisson.connection.ConnectionManager.PubSubEntry; import org.redisson.core.MessageListener; import org.redisson.core.RTopic; -import org.redisson.core.RedisPubSubTopicListener; import com.lambdaworks.redis.RedisConnection; import com.lambdaworks.redis.pubsub.RedisPubSubAdapter; @@ -34,8 +33,8 @@ public class RedissonTopic extends RedissonObject implements RTopic { private final CountDownLatch subscribeLatch = new CountDownLatch(1); private final AtomicBoolean subscribeOnce = new AtomicBoolean(); - private final Map> listeners = - new ConcurrentHashMap>(); + private final Map> listeners = + new ConcurrentHashMap>(); private final ConnectionManager connectionManager; private PubSubEntry pubSubEntry; @@ -80,7 +79,7 @@ public class RedissonTopic extends RedissonObject implements RTopic { @Override public int addListener(MessageListener listener) { - RedisPubSubTopicListener pubSubListener = new RedisPubSubTopicListener(listener, getName()); + RedisPubSubTopicListenerWrapper pubSubListener = new RedisPubSubTopicListenerWrapper(listener, getName()); listeners.put(pubSubListener.hashCode(), pubSubListener); pubSubEntry.addListener(pubSubListener); return pubSubListener.hashCode(); @@ -88,7 +87,7 @@ public class RedissonTopic extends RedissonObject implements RTopic { @Override public void removeListener(int listenerId) { - RedisPubSubTopicListener pubSubListener = listeners.remove(listenerId); + RedisPubSubTopicListenerWrapper pubSubListener = listeners.remove(listenerId); pubSubEntry.removeListener(pubSubListener); } diff --git a/src/main/java/org/redisson/core/MessageListener.java b/src/main/java/org/redisson/core/MessageListener.java index 3d28ce342..be52661f6 100644 --- a/src/main/java/org/redisson/core/MessageListener.java +++ b/src/main/java/org/redisson/core/MessageListener.java @@ -17,6 +17,15 @@ package org.redisson.core; import java.util.EventListener; +/** + * Listener for Redis messages published via RTopic Redisson object + * + * @author Nikita Koksharov + * + * @param message + * + * @see org.redisson.core.RTopic + */ public interface MessageListener extends EventListener { void onMessage(M msg); diff --git a/src/main/java/org/redisson/core/RAtomicLong.java b/src/main/java/org/redisson/core/RAtomicLong.java index 1ac2b8bb8..d91a8d4bb 100644 --- a/src/main/java/org/redisson/core/RAtomicLong.java +++ b/src/main/java/org/redisson/core/RAtomicLong.java @@ -15,8 +15,19 @@ */ package org.redisson.core; +/** + * Distributed alternative to the {@link java.util.concurrent.atomic.AtomicLong} + * + * @author Nikita Koksharov + * + */ public interface RAtomicLong extends RObject { + /** + * Atomically decrements by one the current value. + * + * @return the previous value + */ long getAndDecrement(); /** diff --git a/src/main/java/org/redisson/core/RCountDownLatch.java b/src/main/java/org/redisson/core/RCountDownLatch.java index 6fb752e7a..b2b355d21 100644 --- a/src/main/java/org/redisson/core/RCountDownLatch.java +++ b/src/main/java/org/redisson/core/RCountDownLatch.java @@ -17,6 +17,12 @@ package org.redisson.core; import java.util.concurrent.TimeUnit; +/** + * Distributed alternative to the {@link java.util.concurrent.CountDownLatch} + * + * @author Nikita Koksharov + * + */ public interface RCountDownLatch extends RObject { void await() throws InterruptedException; diff --git a/src/main/java/org/redisson/core/RList.java b/src/main/java/org/redisson/core/RList.java index 220172ae5..edcb542a4 100644 --- a/src/main/java/org/redisson/core/RList.java +++ b/src/main/java/org/redisson/core/RList.java @@ -17,6 +17,13 @@ package org.redisson.core; import java.util.List; +/** + * Distributed and concurrent implementation of {@link java.util.List} + * + * @author Nikita Koksharov + * + * @param value + */ public interface RList extends List, RObject { } diff --git a/src/main/java/org/redisson/core/RLock.java b/src/main/java/org/redisson/core/RLock.java index e8c50f0e7..877e04e5c 100644 --- a/src/main/java/org/redisson/core/RLock.java +++ b/src/main/java/org/redisson/core/RLock.java @@ -17,6 +17,12 @@ package org.redisson.core; import java.util.concurrent.locks.Lock; +/** + * Distributed implementation of {@link java.util.concurrent.locks.Lock} + * + * @author Nikita Koksharov + * + */ public interface RLock extends Lock, RObject { } diff --git a/src/main/java/org/redisson/core/RMap.java b/src/main/java/org/redisson/core/RMap.java index ecd01d588..92a4f1c7e 100644 --- a/src/main/java/org/redisson/core/RMap.java +++ b/src/main/java/org/redisson/core/RMap.java @@ -17,6 +17,15 @@ package org.redisson.core; import java.util.concurrent.ConcurrentMap; +/** + * Distributed and concurrent implementation of {@link java.util.concurrent.ConcurrentMap} + * and {@link java.util.Map} + * + * @author Nikita Koksharov + * + * @param key + * @param value + */ public interface RMap extends ConcurrentMap, RObject { } diff --git a/src/main/java/org/redisson/core/RObject.java b/src/main/java/org/redisson/core/RObject.java index 2c8e044f6..2a04fa6dd 100644 --- a/src/main/java/org/redisson/core/RObject.java +++ b/src/main/java/org/redisson/core/RObject.java @@ -15,6 +15,12 @@ */ package org.redisson.core; +/** + * Base interface for all Redisson objects + * + * @author Nikita Koksharov + * + */ public interface RObject { /** diff --git a/src/main/java/org/redisson/core/RQueue.java b/src/main/java/org/redisson/core/RQueue.java index 2ef4895ca..f355eed5b 100644 --- a/src/main/java/org/redisson/core/RQueue.java +++ b/src/main/java/org/redisson/core/RQueue.java @@ -17,6 +17,13 @@ package org.redisson.core; import java.util.Queue; +/** + * Distributed and concurrent implementation of {@link java.util.List} + * + * @author Nikita Koksharov + * + * @param value + */ public interface RQueue extends Queue, RObject { } diff --git a/src/main/java/org/redisson/core/RSet.java b/src/main/java/org/redisson/core/RSet.java index d9a52214b..d15a55bca 100644 --- a/src/main/java/org/redisson/core/RSet.java +++ b/src/main/java/org/redisson/core/RSet.java @@ -17,6 +17,13 @@ package org.redisson.core; import java.util.Set; +/** + * Distributed and concurrent implementation of {@link java.util.Set} + * + * @author Nikita Koksharov + * + * @param value + */ public interface RSet extends Set, RObject { } diff --git a/src/main/java/org/redisson/core/RTopic.java b/src/main/java/org/redisson/core/RTopic.java index ae882a3bd..7f9fa0e85 100644 --- a/src/main/java/org/redisson/core/RTopic.java +++ b/src/main/java/org/redisson/core/RTopic.java @@ -19,6 +19,8 @@ package org.redisson.core; /** * Distributed topic. Messages are delivered to all message listeners across Redis cluster. * + * @author Nikita Koksharov + * * @param the type of message object */ public interface RTopic extends RObject {