Removed code duplication
This commit is contained in:
parent
8a8d1d1da6
commit
ebc2459bc7
@ -535,6 +535,15 @@ public abstract class AbstractChannelBuffer implements ChannelBuffer {
|
||||
return toString(readerIndex, readableBytes(), charset);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
if (length == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return ChannelBuffers.decodeString(
|
||||
toByteBuffer(index, length), charset);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public String toString(int index, int length, String charsetName,
|
||||
ChannelBufferIndexFinder terminatorFinder) {
|
||||
|
@ -23,7 +23,6 @@ import java.nio.ByteOrder;
|
||||
import java.nio.channels.ClosedChannelException;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
/**
|
||||
* A NIO {@link ByteBuffer} based buffer. It is recommended to use {@link ChannelBuffers#directBuffer(int)}
|
||||
@ -299,16 +298,6 @@ public class ByteBufferBackedChannelBuffer extends AbstractChannelBuffer {
|
||||
}
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
if (length == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return ChannelBuffers.decodeString(
|
||||
((ByteBuffer) buffer.duplicate().position(index).limit(index + length)),
|
||||
charset);
|
||||
}
|
||||
|
||||
public ChannelBuffer slice(int index, int length) {
|
||||
if (index == 0 && length == capacity()) {
|
||||
return duplicate();
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -586,37 +585,6 @@ public class CompositeChannelBuffer extends AbstractChannelBuffer {
|
||||
return buffers.toArray(new ByteBuffer[buffers.size()]);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
if (length == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
int componentId = componentId(index);
|
||||
if (index + length <= indices[componentId + 1]) {
|
||||
return components[componentId].toString(
|
||||
index - indices[componentId], length, charset);
|
||||
}
|
||||
|
||||
byte[] data = new byte[length];
|
||||
int dataIndex = 0;
|
||||
int i = componentId;
|
||||
|
||||
int remaining = length;
|
||||
while (remaining > 0) {
|
||||
ChannelBuffer s = components[i];
|
||||
int adjustment = indices[i];
|
||||
int localLength = Math.min(remaining, s.capacity() - (index - adjustment));
|
||||
s.getBytes(index - adjustment, data, dataIndex, localLength);
|
||||
index += localLength;
|
||||
dataIndex += localLength;
|
||||
remaining -= localLength;
|
||||
i ++;
|
||||
}
|
||||
|
||||
return ChannelBuffers.decodeString(
|
||||
ByteBuffer.wrap(data), charset);
|
||||
}
|
||||
|
||||
private int componentId(int index) {
|
||||
int lastComponentId = lastAccessedComponentId;
|
||||
if (index >= indices[lastComponentId]) {
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
||||
/**
|
||||
@ -180,8 +179,4 @@ public class DuplicatedChannelBuffer extends AbstractChannelBuffer implements Wr
|
||||
public ByteBuffer toByteBuffer(int index, int length) {
|
||||
return buffer.toByteBuffer(index, length);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
return buffer.toString(index, length, charset);
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
||||
/**
|
||||
@ -290,8 +289,4 @@ public class DynamicChannelBuffer extends AbstractChannelBuffer {
|
||||
public ByteBuffer toByteBuffer(int index, int length) {
|
||||
return buffer.toByteBuffer(index, length);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
return buffer.toString(index, length, charset);
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.channels.ClosedChannelException;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
/**
|
||||
* A skeletal implementation for Java heap buffers.
|
||||
@ -118,15 +117,6 @@ public abstract class HeapChannelBuffer extends AbstractChannelBuffer {
|
||||
return out.write(ByteBuffer.wrap(array, index, length));
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
if (length == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return ChannelBuffers.decodeString(
|
||||
ByteBuffer.wrap(array, index, length), charset);
|
||||
}
|
||||
|
||||
public void setByte(int index, byte value) {
|
||||
array[index] = value;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import java.nio.ByteOrder;
|
||||
import java.nio.ReadOnlyBufferException;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
/**
|
||||
* A derived buffer which forbids any write requests to its parent. It is
|
||||
@ -194,8 +193,4 @@ public class ReadOnlyChannelBuffer extends AbstractChannelBuffer implements Wrap
|
||||
public int capacity() {
|
||||
return buffer.capacity();
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
return buffer.toString(index, length, charset);
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
||||
/**
|
||||
@ -214,11 +213,6 @@ public class SlicedChannelBuffer extends AbstractChannelBuffer implements Wrappe
|
||||
return buffer.toByteBuffer(index + adjustment, length);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
checkIndex(index, length);
|
||||
return buffer.toString(index + adjustment, length, charset);
|
||||
}
|
||||
|
||||
private void checkIndex(int index) {
|
||||
if (index < 0 || index >= capacity()) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
|
@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.channels.GatheringByteChannel;
|
||||
import java.nio.channels.ScatteringByteChannel;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
||||
/**
|
||||
@ -208,11 +207,6 @@ public class TruncatedChannelBuffer extends AbstractChannelBuffer implements Wra
|
||||
return buffer.toByteBuffer(index, length);
|
||||
}
|
||||
|
||||
public String toString(int index, int length, Charset charset) {
|
||||
checkIndex(index, length);
|
||||
return buffer.toString(index, length, charset);
|
||||
}
|
||||
|
||||
private void checkIndex(int index) {
|
||||
if (index < 0 || index >= capacity()) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
|
Loading…
Reference in New Issue
Block a user