diff options
Diffstat (limited to 'libjava/gnu/gcj/convert/BytesToUnicode.java')
-rw-r--r-- | libjava/gnu/gcj/convert/BytesToUnicode.java | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/libjava/gnu/gcj/convert/BytesToUnicode.java b/libjava/gnu/gcj/convert/BytesToUnicode.java deleted file mode 100644 index 6e4d15dab9f..00000000000 --- a/libjava/gnu/gcj/convert/BytesToUnicode.java +++ /dev/null @@ -1,107 +0,0 @@ -/* Copyright (C) 1999 Cygnus Solutions - - 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 BytesToUnicode -{ - /** Buffer to read bytes from. - * The characters inbuffer[inpos] ... inbuffer[inlength-1] are available. */ - public byte[] inbuffer; - /** Starting index in buffer to read bytes from. */ - public int inpos; - /** End of valid bytes in buffer. */ - public int inlength; - - static Class defaultDecodingClass; - - static synchronized void getDefaultDecodingClass() - { - // Test (defaultDecodingClass == null) again in case of race condition. - if (defaultDecodingClass == null) - { - String encoding = System.getProperty("file.encoding"); - String className = "gnu.gcj.convert.Input_"+encoding; - try - { - defaultDecodingClass = Class.forName(className); - } - catch (ClassNotFoundException ex) - { - throw new NoClassDefFoundError("missing default encoding " - + encoding + " (class " - + className + " not found)"); - } - } - } - - public abstract String getName(); - - public static BytesToUnicode getDefaultDecoder() - { - try - { - if (defaultDecodingClass == null) - getDefaultDecodingClass(); - return (BytesToUnicode) defaultDecodingClass.newInstance(); - } - catch (Throwable ex) - { - return new Input_8859_1(); - } - } - - /** Get a byte-stream->char-stream converter given an encoding name. */ - public static BytesToUnicode getDecoder (String encoding) - throws java.io.UnsupportedEncodingException - { - String className = "gnu.gcj.convert.Input_"+encoding; - Class decodingClass; - try - { - decodingClass = Class.forName(className); - return (BytesToUnicode) decodingClass.newInstance(); - } - catch (Throwable ex) - { - throw new java.io.UnsupportedEncodingException(encoding - + " (" + ex + ')'); - } - } - - /** Make input bytes available to the conversion. - * @param buffer source of input bytes - * @param pos index of first available byte - * @param length one more than index of last available byte - */ - public final void setInput(byte[] buffer, int pos, int length) - { - inbuffer = buffer; - inpos = pos; - inlength = length; - } - - /** 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]. - * @param outbuffer buffer for the converted character - * @param outpos position in buffer to start putting converted characters - * @param count the maximum number of characters to convert - * @return 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). - */ - public abstract int read (char[] outbuffer, int outpos, int count); -} |