net.sf.cindy.util
Class Charset

java.lang.Object
  extended by net.sf.cindy.util.Charset

public final class Charset
extends java.lang.Object

Utils for charset encode and decode.

Be careful when directly use java.nio.charset.Charset to encode and decode. See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991.

Version:
$id$
Author:
Roger Chen

Field Summary
static Charset SYSTEM
          System charset.
static Charset UTF8
          UTF-8 charset.
 
Constructor Summary
Charset(java.lang.String charsetName)
          Construct charset with charset name.
 
Method Summary
 java.lang.String decode(Buffer buffer)
          Decode buffer to string.
 java.lang.String decode(byte[] b)
          Decode byte array to string.
 java.lang.String decode(java.nio.ByteBuffer buffer)
          Decode byte buffer to string.
static java.lang.String decode(java.lang.String charsetName, java.nio.ByteBuffer buffer)
          Decode byte buffer to string.
 java.nio.ByteBuffer encode(java.lang.CharSequence sequence)
          Encode char sequence to byte buffer.
 java.nio.ByteBuffer[] encode(java.lang.CharSequence sequence, int bufferCapcity)
          Encode char sequence to byte buffer array.
static java.nio.ByteBuffer encode(java.lang.String charsetName, java.lang.CharSequence sequence)
          Encode char sequence to byte buffer.
 byte[] encodeToArray(java.lang.CharSequence sequence)
          Encode char sequence to byte array.
 java.lang.String getCharsetName()
          Get charset name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SYSTEM

public static final Charset SYSTEM
System charset.


UTF8

public static final Charset UTF8
UTF-8 charset.

Constructor Detail

Charset

public Charset(java.lang.String charsetName)
Construct charset with charset name.

Parameters:
charsetName - charset name
Method Detail

getCharsetName

public java.lang.String getCharsetName()
Get charset name.

Returns:
charset name

encodeToArray

public byte[] encodeToArray(java.lang.CharSequence sequence)
Encode char sequence to byte array.

Parameters:
sequence - char sequence
Returns:
the encoded byte array

encode

public java.nio.ByteBuffer encode(java.lang.CharSequence sequence)
Encode char sequence to byte buffer.

Parameters:
sequence - the char sequence
Returns:
the encoded byte buffer

encode

public java.nio.ByteBuffer[] encode(java.lang.CharSequence sequence,
                                    int bufferCapcity)
Encode char sequence to byte buffer array. Every encoded byte buffer's capacity will equals or less than bufferCapcity, and won't contain parts of a char.

Parameters:
sequence - the char sequence
bufferCapcity - the encoded byte buffer's max capacity
Returns:
the encoded byte buffer array
Throws:
java.lang.IllegalArgumentException

decode

public java.lang.String decode(byte[] b)
Decode byte array to string.

Parameters:
b - byte array
Returns:
the decoded string

decode

public java.lang.String decode(Buffer buffer)
Decode buffer to string.

Parameters:
buffer - the buffer
Returns:
the decoded string

decode

public java.lang.String decode(java.nio.ByteBuffer buffer)
Decode byte buffer to string.

Parameters:
buffer - the byte buffer
Returns:
the decoded string

encode

public static java.nio.ByteBuffer encode(java.lang.String charsetName,
                                         java.lang.CharSequence sequence)
Encode char sequence to byte buffer.

Parameters:
charsetName - charset name
sequence - the char sequence
Returns:
the encoded byte buffer

decode

public static java.lang.String decode(java.lang.String charsetName,
                                      java.nio.ByteBuffer buffer)
Decode byte buffer to string.

Parameters:
charsetName - charset name
buffer - the byte buffer
Returns:
the decoded string