diff options
Diffstat (limited to 'libjava/gnu/gcj/convert/UnicodeToBytes.java')
-rw-r--r-- | libjava/gnu/gcj/convert/UnicodeToBytes.java | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java deleted file mode 100644 index 1ba6ddf8065..00000000000 --- a/libjava/gnu/gcj/convert/UnicodeToBytes.java +++ /dev/null @@ -1,118 +0,0 @@ -/* Copyright (C) 1999, 2000 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. */ - -package gnu.gcj.convert; - -public abstract class UnicodeToBytes extends IOConverter -{ - /** Buffer to emit bytes to. - * The locations buf[count] ... buf[buf.length-1] are available. */ - public byte[] buf; - public int count; - - static Class defaultEncodingClass; - - static synchronized void getDefaultEncodingClass() - { - // Test (defaultEncodingClass == null) again in case of race condition. - if (defaultEncodingClass == null) - { - String encoding = canonicalize (System.getProperty("file.encoding")); - String className = "gnu.gcj.convert.Output_"+encoding; - try - { - defaultEncodingClass = Class.forName(className); - } - catch (ClassNotFoundException ex) - { - throw new NoClassDefFoundError("missing default encoding " - + encoding + " (class " - + className + " not found)"); - - } - } - } - - public abstract String getName(); - - public static UnicodeToBytes getDefaultEncoder() - { - try - { - if (defaultEncodingClass == null) - getDefaultEncodingClass(); - return (UnicodeToBytes) defaultEncodingClass.newInstance(); - } - catch (Throwable ex) - { - return new Output_8859_1(); - } - } - - /** Get a char-stream->byte-stream converter given an encoding name. */ - public static UnicodeToBytes getEncoder (String encoding) - throws java.io.UnsupportedEncodingException - { - String className = "gnu.gcj.convert.Output_" + canonicalize (encoding); - Class encodingClass; - try - { - encodingClass = Class.forName(className); - return (UnicodeToBytes) encodingClass.newInstance(); - } - catch (Throwable ex) - { - try - { - // We pass the original name to iconv and let it handle - // its own aliasing. - return new Output_iconv (encoding); - } - catch (Throwable _) - { - // Put the original exception in the throwable. - throw new java.io.UnsupportedEncodingException(encoding + " (" - + ex + ')'); - } - } - } - - public final void setOutput(byte[] buffer, int count) - { - this.buf = buffer; - this.count = count; - } - - /** Convert chars to bytes. - * Converted bytes are written to buf, starting at count. - * @param inbuffer source of characters to convert - * @param inpos index of initial character in inbuffer to convert - * @param inlength number of characters to convert - * @return number of chars converted - * Also, this.count is increment by the number of bytes converted. - */ - public abstract int write (char[] inbuffer, int inpos, int inlength); - - /** Convert chars to bytes. - * Converted bytes are written to buf, starting at count. - * @param str source of characters to convert - * @param inpos index of initial character in str to convert - * @param inlength number of characters to convert - * @param work if non-null, a buffer than can be used - * @return number of chars converted - * Also, this.count is increment by the number of bytes converted. - */ - public int write (String str, int inpos, int inlength, char[] work) - { - if (work == null) - work = new char[inlength]; - int srcEnd = inpos + (inlength > work.length ? work.length : inlength); - str.getChars(inpos, srcEnd, work, 0); - return write(work, inpos, inlength); - } -} |