More JavaDoc

This commit is contained in:
Trustin Lee 2008-08-10 05:52:36 +00:00
parent 5590fe913d
commit cb88eb0aef
16 changed files with 84 additions and 6 deletions

View File

@ -32,6 +32,7 @@ import java.util.NoSuchElementException;
/** /**
* Skeletal implementation of a buffer.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)

View File

@ -26,6 +26,7 @@ import java.nio.ByteOrder;
/** /**
* Big-endian Java heap buffer.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)

View File

@ -33,7 +33,15 @@ import java.nio.channels.GatheringByteChannel;
import java.nio.channels.ScatteringByteChannel; import java.nio.channels.ScatteringByteChannel;
import java.nio.charset.UnsupportedCharsetException; import java.nio.charset.UnsupportedCharsetException;
/**
* NIO direct buffer based buffer.
*
* @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com)
*
* @version $Rev$, $Date$
*
*/
public class ByteBufferBackedChannelBuffer extends AbstractChannelBuffer { public class ByteBufferBackedChannelBuffer extends AbstractChannelBuffer {
private final ByteBuffer buffer; private final ByteBuffer buffer;

View File

@ -31,7 +31,7 @@ import java.nio.channels.GatheringByteChannel;
import java.nio.channels.ScatteringByteChannel; import java.nio.channels.ScatteringByteChannel;
/** /**
* A random and sequential accessible sequence of zero or more bytes (octets). * Random and sequential accessible sequence of zero or more bytes (octets).
* This interface provides an abstract view for one or more primitive byte * This interface provides an abstract view for one or more primitive byte
* arrays ({@code byte[]}) and {@linkplain ByteBuffer NIO buffers}. * arrays ({@code byte[]}) and {@linkplain ByteBuffer NIO buffers}.
* *

View File

@ -29,6 +29,15 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
/** /**
* {@link InputStream} which reads data from a {@link ChannelBuffer}.
* <p>
* A read operation against this stream will occur at the {@code readerIndex}
* of its underlying buffer and the {@code readerIndex} will increase during
* the read operation.
* <p>
* This stream implements {@link DataInput} for your convenience.
* The endianness of the stream is not always big endian but depends on
* the endianness of the underlying buffer.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
@ -44,10 +53,24 @@ public class ChannelBufferInputStream extends InputStream implements DataInput {
private final int startIndex; private final int startIndex;
private final int endIndex; private final int endIndex;
/**
* Creates a new stream which reads data from the specified {@code buffer}
* starting at the current {@code readerIndex} and ending at the current
* {@code writerIndex}.
*/
public ChannelBufferInputStream(ChannelBuffer buffer) { public ChannelBufferInputStream(ChannelBuffer buffer) {
this(buffer, buffer.readableBytes()); this(buffer, buffer.readableBytes());
} }
/**
* Creates a new stream which reads data from the specified {@code buffer}
* starting at the current {@code readerIndex} and ending at
* {@code readerIndex + length}.
*
* @throws IndexOutOfBoundsException
* if {@code readerIndex + length} is greater than
* {@code writerIndex}
*/
public ChannelBufferInputStream(ChannelBuffer buffer, int length) { public ChannelBufferInputStream(ChannelBuffer buffer, int length) {
if (buffer == null) { if (buffer == null) {
throw new NullPointerException("buffer"); throw new NullPointerException("buffer");
@ -62,6 +85,9 @@ public class ChannelBufferInputStream extends InputStream implements DataInput {
buffer.markReaderIndex(); buffer.markReaderIndex();
} }
/**
* Returns the number of read bytes by this stream so far.
*/
public int readBytes() { public int readBytes() {
return buffer.readerIndex() - startIndex; return buffer.readerIndex() - startIndex;
} }

View File

@ -28,6 +28,15 @@ import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
/** /**
* {@link OutputStream} which writes data to a {@link ChannelBuffer}.
* <p>
* A write operation against this stream will occur at the {@code writerIndex}
* of its underlying buffer and the {@code writerIndex} will increase during
* the write operation.
* <p>
* This stream implements {@link DataOutput} for your convenience.
* The endianness of the stream is not always big endian but depends on
* the endianness of the underlying buffer.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
@ -42,6 +51,9 @@ public class ChannelBufferOutputStream extends OutputStream implements DataOutpu
private final ChannelBuffer buffer; private final ChannelBuffer buffer;
private final DataOutputStream utf8out = new DataOutputStream(this); private final DataOutputStream utf8out = new DataOutputStream(this);
/**
* Creates a new stream which writes data to the specified {@code buffer}.
*/
public ChannelBufferOutputStream(ChannelBuffer buffer) { public ChannelBufferOutputStream(ChannelBuffer buffer) {
if (buffer == null) { if (buffer == null) {
throw new NullPointerException("buffer"); throw new NullPointerException("buffer");
@ -118,6 +130,9 @@ public class ChannelBufferOutputStream extends OutputStream implements DataOutpu
utf8out.writeUTF(s); utf8out.writeUTF(s);
} }
/**
* Returns the buffer where this stream is writing data.
*/
public ChannelBuffer buffer() { public ChannelBuffer buffer() {
return buffer; return buffer;
} }

View File

@ -30,7 +30,7 @@ import java.nio.charset.UnsupportedCharsetException;
/** /**
* Creates a new {@link ChannelBuffer} by allocating new space or by wrapping * Creates a new {@link ChannelBuffer} by allocating new space or by wrapping
* or copying existing byte arrays. * or copying existing byte arrays, byte buffer and string.
* *
* <h3>Use static import</h3> * <h3>Use static import</h3>
* This classes is intended to be used with Java 5 static import statement: * This classes is intended to be used with Java 5 static import statement:
@ -60,9 +60,9 @@ import java.nio.charset.UnsupportedCharsetException;
* <h3>Creating a wrapped buffer</h3> * <h3>Creating a wrapped buffer</h3>
* *
* Wrapped buffer is a buffer which is a view of one or more existing * Wrapped buffer is a buffer which is a view of one or more existing
* byte arrays or byte buffer. Any changes in the content of the original * byte arrays, byte buffer and string. Any changes in the content of the
* array or buffer will be reflected in the wrapped buffer. Various wrapper * original array or buffer will be reflected in the wrapped buffer. Various
* methods are provided and their name is all {@code wrappedBuffer()}. * wrapper methods are provided and their name is all {@code wrappedBuffer()}.
* You might want to take a look at this method closely if you want to create * You might want to take a look at this method closely if you want to create
* a buffer which is composed of more than one array to reduce the number of * a buffer which is composed of more than one array to reduce the number of
* memory copy. * memory copy.

View File

@ -36,6 +36,8 @@ import java.util.List;
/** /**
* Virtual buffer which shows multiple buffers as a single merged buffer.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *

View File

@ -32,6 +32,9 @@ import java.nio.channels.ScatteringByteChannel;
/** /**
* Derived buffer which simply forwards all data access requests to its
* parent.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *

View File

@ -32,6 +32,8 @@ import java.nio.channels.ScatteringByteChannel;
/** /**
* Dynamic capacity buffer which increases its capacity as needed.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *

View File

@ -33,6 +33,7 @@ import java.nio.channels.ScatteringByteChannel;
import java.nio.charset.UnsupportedCharsetException; import java.nio.charset.UnsupportedCharsetException;
/** /**
* Skeletal implementation for Java heap buffers.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)

View File

@ -26,6 +26,7 @@ import java.nio.ByteOrder;
/** /**
* Little-endian Java heap buffer.
* *
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)

View File

@ -30,6 +30,15 @@ import java.nio.ByteOrder;
import java.nio.channels.GatheringByteChannel; import java.nio.channels.GatheringByteChannel;
import java.nio.channels.ScatteringByteChannel; import java.nio.channels.ScatteringByteChannel;
/**
* Derived buffer which forbids any write requests to its parent.
*
* @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com)
*
* @version $Rev$, $Date$
*
*/
public class ReadOnlyChannelBuffer extends AbstractChannelBuffer implements WrappedChannelBuffer { public class ReadOnlyChannelBuffer extends AbstractChannelBuffer implements WrappedChannelBuffer {
private final ChannelBuffer buffer; private final ChannelBuffer buffer;

View File

@ -32,6 +32,8 @@ import java.nio.channels.ScatteringByteChannel;
/** /**
* Derived buffer which exposes its parent's sub-region only.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *

View File

@ -32,6 +32,8 @@ import java.nio.channels.ScatteringByteChannel;
/** /**
* Derived buffer which hides its parent's tail data beyond a certain index.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *

View File

@ -23,6 +23,8 @@
package org.jboss.netty.buffer; package org.jboss.netty.buffer;
/** /**
* Common interface for buffer wrappers and derived buffers.
*
* @author The Netty Project (netty-dev@lists.jboss.org) * @author The Netty Project (netty-dev@lists.jboss.org)
* @author Trustin Lee (tlee@redhat.com) * @author Trustin Lee (tlee@redhat.com)
* *
@ -30,5 +32,8 @@ package org.jboss.netty.buffer;
* *
*/ */
public interface WrappedChannelBuffer extends ChannelBuffer { public interface WrappedChannelBuffer extends ChannelBuffer {
/**
* Returns this buffer's parent that this buffer is wrapping.
*/
ChannelBuffer unwrap(); ChannelBuffer unwrap();
} }