Class Input_iconv

public class Input_iconv
extends BytesToUnicode

Convert bytes in some iconv-supported encoding to Unicode.

Field Summary

Fields inherited from class gnu.gcj.convert.BytesToUnicode

inbuffer, inlength, inpos

Fields inherited from class gnu.gcj.convert.IOConverter


Constructor Summary

Input_iconv(String encoding)

Method Summary

Indicate that the converter is resuable.
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
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


Methods inherited from class java.lang.Object

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

Constructor Details


public Input_iconv(String encoding)
            throws UnsupportedEncodingException

Method Details


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.
done in interface BytesToUnicode


public void finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.

finalize in interface Object


public String getName()
getName in interface BytesToUnicode


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].
read in interface BytesToUnicode
outbuffer - buffer for the converted character
outpos - position in buffer to start putting converted characters
count - the maximum number of characters to convert
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) 2000, 2001 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.