Framework Professional Edition Package


com.prosyst.util.io
Class CharacterConvertor

java.lang.Object
  extended by com.prosyst.util.io.CharacterConvertor
Direct Known Subclasses:
CharacterConvertor_ISO8859_1, CharacterConvertor_UTF8

public abstract class CharacterConvertor
extends java.lang.Object


Constructor Summary
CharacterConvertor()
           
 
Method Summary
abstract  void convert(byte[] input, int off1, int len1, char[] output, int off2, int len2, int[] result)
          Converts the input bytes, using the specified encoding into unicode chars.
abstract  void convert(char[] input, int off1, int len1, byte[] output, int off2, int len2, int[] result)
          Converts the input chars, using the specified encoding into bytes in the given range.
static CharacterConvertor get(java.lang.String encoding)
          Gets a CharacterConvertor for a specific encoding.
abstract  java.lang.String getCharacterEncoding()
          Gets the identifier String of the encoding.
static java.lang.String getDefaultEncoding()
           
abstract  int getMaxBytesPerChar()
          Gets the maximum bytes that may be used for the conversion of a single char, using this CharacterConvertor's encoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CharacterConvertor

public CharacterConvertor()
Method Detail

get

public static CharacterConvertor get(java.lang.String encoding)
Gets a CharacterConvertor for a specific encoding. Supported encodings are ISO8859_1 && UTF8. Once instantiated convertors are cached, to be reused.

Parameters:
encoding - string identifier of the target encoding. may be ISO8859_1 or UTF8
Returns:
a proper CharacterConvertor or null if encoding is not supported.

getDefaultEncoding

public static java.lang.String getDefaultEncoding()

convert

public abstract void convert(char[] input,
                             int off1,
                             int len1,
                             byte[] output,
                             int off2,
                             int len2,
                             int[] result)
                      throws java.io.IOException
Converts the input chars, using the specified encoding into bytes in the given range. Conversion ends if there's no more input or if the output gets full.

Parameters:
input - characters to be converted
off1 - offset position in the input arrat of the first character to be converted
len1 - count of characters to be converted
output - where output bytes are put
off2 - offset of the first output byte
len2 - count of bytes that may be used for output conversion
result - a non-null two element int[], which holds the result lengths from the conversion: result[0] contains the number of chars converted and result[1] - the number of bytes that are result of the conversion
Throws:
java.io.IOException - if there's some error during conversion

convert

public abstract void convert(byte[] input,
                             int off1,
                             int len1,
                             char[] output,
                             int off2,
                             int len2,
                             int[] result)
                      throws java.io.IOException
Converts the input bytes, using the specified encoding into unicode chars. Conversion ends if there's no more input or if the output gets full.

Parameters:
input - bytes to be converted
off1 - offset position in the input arrat of the first byte to be converted
len1 - count of bytes to be converted
output - where output chars are put
off2 - offset of the first output char
len2 - count of chars that may be used for output conversion
result - a non-null two element int[], which holds the result lengths from the conversion: result[0] contains the number of bytes converted and result[1] - the number of chars that are result of the conversion
Throws:
java.io.IOException - if there's some error during conversion

getCharacterEncoding

public abstract java.lang.String getCharacterEncoding()
Gets the identifier String of the encoding. This may be not the same string, which has been used for obtaining the CharacterConverter.

Returns:
key string for the encoding

getMaxBytesPerChar

public abstract int getMaxBytesPerChar()
Gets the maximum bytes that may be used for the conversion of a single char, using this CharacterConvertor's encoding.

Returns:
maximum number of bytes, necessary to convert a char.

Framework Professional Edition Package


Copyright © 1999-2007 ProSyst Software GmbH. All Rights Reserved