Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.2 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javolution.io
Class UTF8ByteBufferReader

    java.lang.Object
      java.io.Reader
          javolution.io.UTF8ByteBufferReader

All Implemented Interfaces:
  java.io.Closeable, java.lang.Readable, Reusable

    public final class UTF8ByteBufferReader

extends java.io.Reader
implements Reusable

This class represents a UTF-8 `java.nio.ByteBuffer` reader.

This reader can be used for efficient decoding of native byte buffers (e.g. `MappedByteBuffer`), high-performance messaging (no intermediate buffer), etc.

This reader supports surrogate `char` pairs (representing characters in the range [U+10000 .. U+10FFFF]). It can also be used to read characters unicodes (31 bits) directly (ref. `read()`).

Each invocation of one of the `read()` methods may cause one or more bytes to be read from the underlying byte buffer. The end of stream is reached when the byte buffer position and limit coincide.

Version:
  2.0, December 9, 2004
Author:
  Jean-Marie Dautelle
See Also:
  `UTF8ByteBufferWriter`

Field Summary

Fields inherited from class java.io.Reader
`lock`

Constructor Summary
`UTF8ByteBufferReader()` Default constructor.

Method Summary
`void` | `close()` Closes and `resets` this reader for reuse.
`int` | `read()` Reads a single character.
`void` | `read(java.lang.Appendable dest)` Reads characters into the specified appendable.
`int` | `read(char[] cbuf, int off, int len)` Reads characters into a portion of an array.
`boolean` | `ready()` Indicates if this stream is ready to be read.
`void` | `reset()` Resets the internal state of this object to its default values.
`UTF8ByteBufferReader` | `setByteBuffer(java.nio.ByteBuffer byteBuffer)` Deprecated. Replaced by `setInput(ByteBuffer)`
`UTF8ByteBufferReader` | `setInput(java.nio.ByteBuffer byteBuffer)` Sets the `ByteBuffer` to use for reading available bytes from current buffer position.

Methods inherited from class java.io.Reader
`mark, markSupported, read, read, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### UTF8ByteBufferReader

    public UTF8ByteBufferReader()

  Default constructor.

Method Detail

### setInput

    public UTF8ByteBufferReader setInput(java.nio.ByteBuffer byteBuffer)

  Sets the `ByteBuffer` to use for reading available bytes from current buffer position.

  Parameters:
    `byteBuffer` - the `ByteBuffer` source.
  Returns:
    this UTF-8 reader.
  Throws:
    `java.lang.IllegalStateException` - if this reader is being reused and it has not been `closed` or `reset`.

### ready

    public boolean ready()
                  throws java.io.IOException

  Indicates if this stream is ready to be read.

  Overrides:
    `ready` in class `java.io.Reader`
  Returns:
    `true` if the byte buffer has remaining bytes to read; `false` otherwise.
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### close

    public void close()
               throws java.io.IOException

  Closes and `resets` this reader for reuse.

  Specified by:
    `close` in interface `java.io.Closeable`
  Specified by:
    `close` in class `java.io.Reader`
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### read

    public int read()
             throws java.io.IOException

  Reads a single character. This method does not block, `-1` is returned if the buffer's limit has been reached.

  Overrides:
    `read` in class `java.io.Reader`
  Returns:
    the 31-bits Unicode of the character read, or -1 if there is no more remaining bytes to be read.
  Throws:
    `java.io.IOException` - if an I/O error occurs (e.g. incomplete character sequence being read).

### read

    public int read(char[] cbuf,
                    int off,
                    int len)
             throws java.io.IOException

  Reads characters into a portion of an array. This method does not block.

  Note: Characters between U+10000 and U+10FFFF are represented by surrogate pairs (two `char`).

  Specified by:
    `read` in class `java.io.Reader`
  Parameters:
    `cbuf` - the destination buffer.
    `off` - the offset at which to start storing characters.
    `len` - the maximum number of characters to read
  Returns:
    the number of characters read, or -1 if there is no more byte remaining.
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### read

    public void read(java.lang.Appendable dest)
              throws java.io.IOException

  Reads characters into the specified appendable. This method does not block.

  Note: Characters between U+10000 and U+10FFFF are represented by surrogate pairs (two `char`).

  Parameters:
    `dest` - the destination buffer.
  Throws:
    `java.io.IOException` - if an I/O error occurs.

### reset

    public void reset()

  Description copied from interface: `Reusable`
  Resets the internal state of this object to its default values.

  Specified by:
    `reset` in interface `Reusable`
  Overrides:
    `reset` in class `java.io.Reader`

### setByteBuffer

    public UTF8ByteBufferReader setByteBuffer(java.nio.ByteBuffer byteBuffer)

  Deprecated. Replaced by `setInput(ByteBuffer)`

Overview | Package | Class | Tree | Deprecated | Index | Help
| J avolution v5.2 (J2SE 1.5+)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 - 2007 Javolution.