diff options
Diffstat (limited to 'src/gnu/java')
| -rw-r--r-- | src/gnu/java/nio/charset/ByteCharset.java | 188 | ||||
| -rw-r--r-- | src/gnu/java/nio/charset/Cp437.java | 90 | 
2 files changed, 0 insertions, 278 deletions
diff --git a/src/gnu/java/nio/charset/ByteCharset.java b/src/gnu/java/nio/charset/ByteCharset.java deleted file mode 100644 index a7de91c..0000000 --- a/src/gnu/java/nio/charset/ByteCharset.java +++ /dev/null @@ -1,188 +0,0 @@ -/* ByteCharset.java -- Abstract class for generic 1-byte encodings. -   Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING.  If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library.  Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module.  An independent module is a module which is not derived from -or based on this library.  If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so.  If you do not wish to do so, delete this -exception statement from your version. */ - -package gnu.java.nio.charset; - -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.nio.charset.CharsetEncoder; -import java.nio.charset.CoderResult; - -/** - * A generic encoding framework for single-byte encodings,  - * utilizing a look-up table. - *  - * This replaces the gnu.java.io.EncoderEightBitLookup class,  - * created by Aron Renn. - * - * @author Sven de Marothy - */ -abstract class ByteCharset extends Charset -{ -  protected char[] lookupTable; -    /** -     * Char to signify the character in the table is undefined -     */ -  protected static final char NONE = (char)0xFFFD; - -  ByteCharset (String canonicalName, String[] aliases) -  { -    super (canonicalName, aliases); -  } - -  /** -   * Most western charsets include ASCII, but this should -   * be overloaded for others. -   */ -  public boolean contains (Charset cs) -  { -//    return cs instanceof US_ASCII || (cs.getClass() == getClass()); -    return cs.getClass() == cs.getClass(); -  } - -  char[] getLookupTable() -  { -    return lookupTable; -  } - -  public CharsetDecoder newDecoder () -  { -    return new Decoder (this); -  } - -  public CharsetEncoder newEncoder () -  { -    return new Encoder (this); -  } - -  private static final class Decoder extends CharsetDecoder -  { -    private char[] lookup; - -    // Package-private to avoid a trampoline constructor. -    Decoder (ByteCharset cs) -    { -      super (cs, 1.0f, 1.0f); -      lookup = cs.getLookupTable(); -    } - -    protected CoderResult decodeLoop (ByteBuffer in, CharBuffer out) -    { -      // TODO: Optimize this in the case in.hasArray() / out.hasArray() -      while (in.hasRemaining ()) -      { -        byte b = in.get (); -	char c; - -        if (!out.hasRemaining ()) -          { -            in.position (in.position () - 1); -            return CoderResult.OVERFLOW; -          } -	 -	if((c = lookup[(int) (b & 0xFF)]) == NONE); -	//	  return CoderResult.unmappableForLength (1);		 -        out.put (c); -      } - -      return CoderResult.UNDERFLOW; -    } -  } - -  private static final class Encoder extends CharsetEncoder -  { -    private byte[] lookup; - -    // Package-private to avoid a trampoline constructor. -    Encoder (ByteCharset cs) -    { -      super (cs, 1.0f, 1.0f); - -      char[] lookup_table = cs.getLookupTable(); - -      // Create the inverse look-up table. -      // determine required size of encoding_table:  -      int max = 0;  -      for (int i = 0; i < lookup_table.length; i++) -	  { -	      int c = (int)lookup_table[i];  -	      max = (c > max && c < NONE) ? c : max; -	  } - -      lookup = new byte[max+1]; -       -      for (int i = 0; i < lookup_table.length; i++) -	  { -	    int c = (int)lookup_table[i];  -	    if (c != 0 && c < NONE)  -	      { -		lookup[c] = (byte)i; -	      } -	  } -    } - -    protected CoderResult encodeLoop (CharBuffer in, ByteBuffer out) -    { -      // TODO: Optimize this in the case in.hasArray() / out.hasArray() -      while (in.hasRemaining ()) -      { -	int c = (int)in.get (); - -        if (!out.hasRemaining ()) -          { -            in.position (in.position () - 1); -            return CoderResult.OVERFLOW; -          } - -	// lookup byte encoding -	byte b = (c < lookup.length) ? lookup[c] : (byte)0; - -	if ((int)b != 0 || (int)c == 0) -	    { -		out.put (b); -	    } else { -		in.position (in.position () - 1); -		return CoderResult.unmappableForLength (1);		 -	    } -      } - -      return CoderResult.UNDERFLOW; -    } -  } -} diff --git a/src/gnu/java/nio/charset/Cp437.java b/src/gnu/java/nio/charset/Cp437.java deleted file mode 100644 index a2e8bbe..0000000 --- a/src/gnu/java/nio/charset/Cp437.java +++ /dev/null @@ -1,90 +0,0 @@ -/* Cp437.java -- Charset implementation for the Cp437 character set. -   Copyright (C) 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING.  If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library.  Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module.  An independent module is a module which is not derived from -or based on this library.  If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so.  If you do not wish to do so, delete this -exception statement from your version. */ - -package gnu.java.nio.charset; - -public class Cp437 extends ByteCharset -{ -    public static final String NAME = "CP437"; - -  /** -   * This is the lookup table for this encoding -   */ -    private static final char[]	lookup = -    { -	0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,  -	0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,  -	0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,  -	0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,  -	0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,  -	0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,  -	0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,  -	0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,  -	0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,  -	0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,  -	0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,  -	0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,  -	0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,  -	0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,  -	0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,  -	0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,  -	0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,  -	0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,  -	0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,  -	0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192,  -	0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,  -	0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,  -	0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,  -	0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,  -	0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,  -	0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,  -	0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,  -	0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,  -	0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4,  -	0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229,  -	0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248,  -	0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 -    }; - -    public Cp437() -    { -	super("Cp437", new String[] { -	}); -	lookupTable = lookup; -    } - -} // class Cp437  | 
