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.
This commit is contained in:
Xiaoyan Lin 2016-01-30 15:53:11 -08:00 committed by Norman Maurer
parent b7415a3307
commit 17df8171b3
5 changed files with 19 additions and 76 deletions

View File

@ -16,11 +16,12 @@
package io.netty.handler.codec.memcache; package io.netty.handler.codec.memcache;
import io.netty.handler.codec.DecoderResult; import io.netty.handler.codec.DecoderResult;
import io.netty.util.AbstractReferenceCounted;
/** /**
* The default {@link MemcacheObject} implementation. * The default {@link MemcacheObject} implementation.
*/ */
public abstract class AbstractMemcacheObject implements MemcacheObject { public abstract class AbstractMemcacheObject extends AbstractReferenceCounted implements MemcacheObject {
private DecoderResult decoderResult = DecoderResult.SUCCESS; private DecoderResult decoderResult = DecoderResult.SUCCESS;

View File

@ -50,26 +50,21 @@ public class DefaultMemcacheContent extends AbstractMemcacheObject implements Me
return new DefaultMemcacheContent(content.duplicate()); return new DefaultMemcacheContent(content.duplicate());
} }
@Override
public int refCnt() {
return content.refCnt();
}
@Override @Override
public MemcacheContent retain() { public MemcacheContent retain() {
content.retain(); super.retain();
return this; return this;
} }
@Override @Override
public MemcacheContent retain(int increment) { public MemcacheContent retain(int increment) {
content.retain(increment); super.retain(increment);
return this; return this;
} }
@Override @Override
public MemcacheContent touch() { public MemcacheContent touch() {
content.touch(); super.touch();
return this; return this;
} }
@ -80,13 +75,8 @@ public class DefaultMemcacheContent extends AbstractMemcacheObject implements Me
} }
@Override @Override
public boolean release() { protected void deallocate() {
return content.release(); content.release();
}
@Override
public boolean release(int decrement) {
return content.release(decrement);
} }
@Override @Override

View File

@ -165,49 +165,29 @@ public abstract class AbstractBinaryMemcacheMessage
return this; return this;
} }
@Override
public int refCnt() {
if (extras != null) {
return extras.refCnt();
}
return 1;
}
@Override @Override
public BinaryMemcacheMessage retain() { public BinaryMemcacheMessage retain() {
if (extras != null) { super.retain();
extras.retain();
}
return this; return this;
} }
@Override @Override
public BinaryMemcacheMessage retain(int increment) { public BinaryMemcacheMessage retain(int increment) {
if (extras != null) { super.retain(increment);
extras.retain(increment);
}
return this; return this;
} }
@Override @Override
public boolean release() { protected void deallocate() {
if (extras != null) { 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 @Override
public BinaryMemcacheMessage touch() { public BinaryMemcacheMessage touch() {
return touch(null); super.touch();
return this;
} }
@Override @Override

View File

@ -58,29 +58,21 @@ public class DefaultFullBinaryMemcacheRequest extends DefaultBinaryMemcacheReque
return content; return content;
} }
@Override
public int refCnt() {
return content.refCnt();
}
@Override @Override
public FullBinaryMemcacheRequest retain() { public FullBinaryMemcacheRequest retain() {
super.retain(); super.retain();
content.retain();
return this; return this;
} }
@Override @Override
public FullBinaryMemcacheRequest retain(int increment) { public FullBinaryMemcacheRequest retain(int increment) {
super.retain(increment); super.retain(increment);
content.retain(increment);
return this; return this;
} }
@Override @Override
public FullBinaryMemcacheRequest touch() { public FullBinaryMemcacheRequest touch() {
super.touch(); super.touch();
content.touch();
return this; return this;
} }
@ -92,15 +84,9 @@ public class DefaultFullBinaryMemcacheRequest extends DefaultBinaryMemcacheReque
} }
@Override @Override
public boolean release() { protected void deallocate() {
super.release(); super.deallocate();
return content.release(); content.release();
}
@Override
public boolean release(int decrement) {
super.release(decrement);
return content.release(decrement);
} }
@Override @Override

View File

@ -58,29 +58,21 @@ public class DefaultFullBinaryMemcacheResponse extends DefaultBinaryMemcacheResp
return content; return content;
} }
@Override
public int refCnt() {
return content.refCnt();
}
@Override @Override
public FullBinaryMemcacheResponse retain() { public FullBinaryMemcacheResponse retain() {
super.retain(); super.retain();
content.retain();
return this; return this;
} }
@Override @Override
public FullBinaryMemcacheResponse retain(int increment) { public FullBinaryMemcacheResponse retain(int increment) {
super.retain(increment); super.retain(increment);
content.retain(increment);
return this; return this;
} }
@Override @Override
public FullBinaryMemcacheResponse touch() { public FullBinaryMemcacheResponse touch() {
super.touch(); super.touch();
content.touch();
return this; return this;
} }
@ -92,15 +84,9 @@ public class DefaultFullBinaryMemcacheResponse extends DefaultBinaryMemcacheResp
} }
@Override @Override
public boolean release() { protected void deallocate() {
super.release(); super.deallocate();
return content.release(); content.release();
}
@Override
public boolean release(int decrement) {
super.release(decrement);
return content.release(decrement);
} }
@Override @Override