ewe.io
Interface TextCodec

All Superinterfaces:
Copyable
All Known Implementing Classes:
AsciiCodec, JavaUtf8Codec

public interface TextCodec
extends Copyable

This class is used by the TextReader and TextWriter classes to convert Unicode text (Strings) into bytes, encodeText(), and to convert encoded bytes into Unicode text, decodeText().


Method Summary
 void closeCodec()
          This aborts any on-going processing and frees resources associated with the codec.
 CharArray decodeText(byte[] encodedText, int start, int length, boolean endOfData, CharArray destination)
          Decode the bytes into Unicode characters.
 ByteArray encodeText(char[] text, int start, int length, boolean endOfData, ByteArray destination)
          Enocde the Unicode characters into a byte Stream.
 Object getCopy()
          This should return a new instance of the TextCodec, ready to begin converting a new set of data.
 

Method Detail

encodeText

public ByteArray encodeText(char[] text,
                            int start,
                            int length,
                            boolean endOfData,
                            ByteArray destination)
                     throws IOException
Enocde the Unicode characters into a byte Stream.

Parameters:
text - The characters to encode. This can be null if length is zero and endOfData is true. You would use those settings to tell the codec that no more characters are to be encoded and the final set of output bytes (if any) should be output.
start - The start of the characters in the text array.
length - The number of characters to encode.
endOfData - If this is true this tells the codec that no more characters are to be encoded and the final set of output bytes (if any) should be output.
destination - A ByteArray to hold the output data. The output data goes in the data member and and the length member holds how many bytes were output.
Returns:
The destination ByteArray or a new one if the destination was null.
Throws:
IOException - if an error occurs during encoding.

decodeText

public CharArray decodeText(byte[] encodedText,
                            int start,
                            int length,
                            boolean endOfData,
                            CharArray destination)
                     throws IOException
Decode the bytes into Unicode characters.

Parameters:
encodedText - The encoded bytes. This can be null if length is zero and endOfData is true. You would use those settings to tell the codec that no more characters are to be decoded and the final set of decoded characters (if any) should be output.
start - The start of the bytes in the byte array.
length - The number of bytes to decode.
endOfData - If this is true this tells the codec that no more characters are to be decoded and the final set of decoded characters (if any) should be output.
destination - A CharArray to hold the output data. The output data goes in the data member and and the length member holds how many characters were output.
Returns:
The destination CharArray or a new one if the destination was null.
Throws:
IOException - if an error occurs during decoding, including badly formatted data.

closeCodec

public void closeCodec()
                throws IOException
This aborts any on-going processing and frees resources associated with the codec. The codec should not be used again after this. An IOException should be thrown if there was an error closing the process.

Throws:
IOException

getCopy

public Object getCopy()
This should return a new instance of the TextCodec, ready to begin converting a new set of data. This is needed because TextCodec objects are not resetable and cannot be reused.

Specified by:
getCopy in interface Copyable