From 17df8171b3ad5a0b51aec2d5a54e8f1d220a1892 Mon Sep 17 00:00:00 2001 From: Xiaoyan Lin Date: Sat, 30 Jan 2016 15:53:11 -0800 Subject: [PATCH] Use AbstractReferenceCounted to clean up the codes for codec-memcache Motivation: Some duplicated methods in message types of codec-memcache can be cleaned using AbstractReferenceCounted. Modifications: Use AbstractReferenceCounted to avoid duplicated methods. Result: Duplicated methods are cleaned. --- .../memcache/AbstractMemcacheObject.java | 3 +- .../memcache/DefaultMemcacheContent.java | 20 +++--------- .../binary/AbstractBinaryMemcacheMessage.java | 32 ++++--------------- .../DefaultFullBinaryMemcacheRequest.java | 20 ++---------- .../DefaultFullBinaryMemcacheResponse.java | 20 ++---------- 5 files changed, 19 insertions(+), 76 deletions(-) diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/AbstractMemcacheObject.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/AbstractMemcacheObject.java index 9d1ec17750..edcf1ccbe0 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/AbstractMemcacheObject.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/AbstractMemcacheObject.java @@ -16,11 +16,12 @@ package io.netty.handler.codec.memcache; import io.netty.handler.codec.DecoderResult; +import io.netty.util.AbstractReferenceCounted; /** * The default {@link MemcacheObject} implementation. */ -public abstract class AbstractMemcacheObject implements MemcacheObject { +public abstract class AbstractMemcacheObject extends AbstractReferenceCounted implements MemcacheObject { private DecoderResult decoderResult = DecoderResult.SUCCESS; diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/DefaultMemcacheContent.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/DefaultMemcacheContent.java index 32f0022ff8..748dc21724 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/DefaultMemcacheContent.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/DefaultMemcacheContent.java @@ -50,26 +50,21 @@ public class DefaultMemcacheContent extends AbstractMemcacheObject implements Me return new DefaultMemcacheContent(content.duplicate()); } - @Override - public int refCnt() { - return content.refCnt(); - } - @Override public MemcacheContent retain() { - content.retain(); + super.retain(); return this; } @Override public MemcacheContent retain(int increment) { - content.retain(increment); + super.retain(increment); return this; } @Override public MemcacheContent touch() { - content.touch(); + super.touch(); return this; } @@ -80,13 +75,8 @@ public class DefaultMemcacheContent extends AbstractMemcacheObject implements Me } @Override - public boolean release() { - return content.release(); - } - - @Override - public boolean release(int decrement) { - return content.release(decrement); + protected void deallocate() { + content.release(); } @Override diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java index abde374cfb..5dc67e1d4d 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java @@ -165,49 +165,29 @@ public abstract class AbstractBinaryMemcacheMessage return this; } - @Override - public int refCnt() { - if (extras != null) { - return extras.refCnt(); - } - return 1; - } - @Override public BinaryMemcacheMessage retain() { - if (extras != null) { - extras.retain(); - } + super.retain(); return this; } @Override public BinaryMemcacheMessage retain(int increment) { - if (extras != null) { - extras.retain(increment); - } + super.retain(increment); return this; } @Override - public boolean release() { + protected void deallocate() { if (extras != null) { - return extras.release(); + extras.release(); } - return false; - } - - @Override - public boolean release(int decrement) { - if (extras != null) { - return extras.release(decrement); - } - return false; } @Override public BinaryMemcacheMessage touch() { - return touch(null); + super.touch(); + return this; } @Override diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java index 60f8c15b7f..291af9e64a 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheRequest.java @@ -58,29 +58,21 @@ public class DefaultFullBinaryMemcacheRequest extends DefaultBinaryMemcacheReque return content; } - @Override - public int refCnt() { - return content.refCnt(); - } - @Override public FullBinaryMemcacheRequest retain() { super.retain(); - content.retain(); return this; } @Override public FullBinaryMemcacheRequest retain(int increment) { super.retain(increment); - content.retain(increment); return this; } @Override public FullBinaryMemcacheRequest touch() { super.touch(); - content.touch(); return this; } @@ -92,15 +84,9 @@ public class DefaultFullBinaryMemcacheRequest extends DefaultBinaryMemcacheReque } @Override - public boolean release() { - super.release(); - return content.release(); - } - - @Override - public boolean release(int decrement) { - super.release(decrement); - return content.release(decrement); + protected void deallocate() { + super.deallocate(); + content.release(); } @Override diff --git a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java index 8901b2fca2..228f84ebbc 100644 --- a/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java +++ b/codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/DefaultFullBinaryMemcacheResponse.java @@ -58,29 +58,21 @@ public class DefaultFullBinaryMemcacheResponse extends DefaultBinaryMemcacheResp return content; } - @Override - public int refCnt() { - return content.refCnt(); - } - @Override public FullBinaryMemcacheResponse retain() { super.retain(); - content.retain(); return this; } @Override public FullBinaryMemcacheResponse retain(int increment) { super.retain(increment); - content.retain(increment); return this; } @Override public FullBinaryMemcacheResponse touch() { super.touch(); - content.touch(); return this; } @@ -92,15 +84,9 @@ public class DefaultFullBinaryMemcacheResponse extends DefaultBinaryMemcacheResp } @Override - public boolean release() { - super.release(); - return content.release(); - } - - @Override - public boolean release(int decrement) { - super.release(decrement); - return content.release(decrement); + protected void deallocate() { + super.deallocate(); + content.release(); } @Override