gnu.gcj.convert

Class BytesToCharsetAdaptor


public class BytesToCharsetAdaptor
extends BytesToUnicode

Adaptor class that allow any Charset to be used as a BytesToUnicode converter.

Field Summary

Fields inherited from class gnu.gcj.convert.BytesToUnicode

inbuffer, inlength, inpos

Fields inherited from class gnu.gcj.convert.IOConverter

iconv_byte_swap

Constructor Summary

BytesToCharsetAdaptor(Charset cs)
Create a new BytesToCharsetAdaptor for the given Charset.
BytesToCharsetAdaptor(CharsetDecoder dec)
Create a new BytesToCharsetAdaptor for the given CharsetDecoder.

Method Summary

void
done()
Indicate that the converter is resuable.
String
getName()
Return the decoder's name.
int
read(char[] outbuffer, int outpos, int count)
Convert bytes to chars.

Methods inherited from class gnu.gcj.convert.BytesToUnicode

done, getDecoder, getDefaultDecoder, getName, read, setInput

Methods inherited from class gnu.gcj.convert.IOConverter

canonicalize

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

BytesToCharsetAdaptor

public BytesToCharsetAdaptor(Charset cs)
Create a new BytesToCharsetAdaptor for the given Charset.
Parameters:
cs - the Charset.

BytesToCharsetAdaptor

public BytesToCharsetAdaptor(CharsetDecoder dec)
Create a new BytesToCharsetAdaptor for the given CharsetDecoder.
Parameters:
dec - the CharsetDecoder.

Method Details

done

public void done()
Indicate that the converter is resuable. This class keeps track of converters on a per-encoding basis. When done with an encoder you may call this method to indicate that it can be reused later.
Overrides:
done in interface BytesToUnicode

getName

public String getName()
Return the decoder's name. The backing Charset's name is returned.
Overrides:
getName in interface BytesToUnicode
Returns:
The name.

read

public int read(char[] outbuffer,
                int outpos,
                int count)
Convert bytes to chars. Input bytes are taken from this.inbuffer. The available input bytes start at inbuffer[inpos], and end at inbuffer[inlength-1].
Overrides:
read in interface BytesToUnicode
Parameters:
outbuffer - buffer for the converted character
outpos - position in buffer to start putting converted characters
count - the maximum number of characters to convert
Returns:
number of chars placed in outbuffer. Also, this.inpos is incremented by the number of bytes consumed. (Note the asymmetry in that the input upper bound is inbuffer[inlength-1], while the output upper bound is outbuffer[outpos+count-1]. The justification is that inlength is like the count field of a BufferedInputStream, while the count parameter is like the length parameter of a read request.) The count parameter is also defined to be <= outbuffer.length - outpos (per the specification of the length parameter for a read request).

Copyright (C) 2005, 2007 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details.