Merge GNU Classpath libgcj-snapshot-20090102.
2009-01-06 Andrew John Hughes <gnu_andrew@member.fsf.org> Import GNU Classpath (libgcj-snapshot-20090102). * libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class, * libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class, * libjava/classpath/lib/java/text/MessageFormat.class, * libjava/classpath/lib/java/text/SimpleDateFormat.class, * libjava/classpath/lib/java/text/NumberFormat.class, * libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class, * libjava/classpath/lib/java/text/MessageFormat$Field.class, * libjava/classpath/lib/java/text/RuleBasedCollator.class, * libjava/classpath/lib/java/text/NumberFormat$Field.class, * libjava/classpath/lib/gnu/xml/transform/Bindings.class, * libjava/classpath/lib/gnu/java/locale/LocaleData.class, * libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class, * libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class, * libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h, * libjava/java/text/MessageFormat.h, * libjava/java/text/RuleBasedCollator$CollationSorter.h, * libjava/java/text/RuleBasedCollator.h, * libjava/java/text/SimpleDateFormat.h: Regenerated. 2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org> * ChangeLog-2008: New file. 2009-01-02 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: (setLocale(Locale)): Integer format should use NumberFormat.getIntegerInstance. libjava/classpath/ChangeLog-2008 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: (parse(String,ParsePosition)): Emulate behaviour of Vector's setSize() which was being implicitly relied on. 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: Remove superfluous empty line introduced in last commit. 2008-12-31 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/MessageFormat.java: Convert variables to use generic types, use CPStringBuilder in place of StringBuilder. (Field()): Suppress warning due to only being used by deserialization. (scanFormat(String,int,CPStringBuilder,List,Locale)): Use ArrayList instead of Vector as no synchronisation needed. (parse(String,ParsePosition)): Likewise. * java/text/NumberFormat.java: (Field()): Suppress warning due to only being used by deserialization. * java/text/RuleBasedCollator.java: Convert variables to use generic types. (CollationElement): Make fields final. (CollationSorter): Likewise. (CollationSorter(int,String,int,boolean)): New constructor. * java/text/SimpleDateFormat.java, Convert variables to use generic types. (applyPattern(String)): Clear list rather than creating a new instance. 2008-12-30 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/text/SimpleDateFormat.java: (standardChars): Use standard characters from CLDR. (RFC822_TIMEZONE_FIELD): Fixed to match new standard characters. 2008-12-22 Andrew John Hughes <gnu_andrew@member.fsf.org> * java/lang/String.java: (byte[],int,int,String): Call new Charset method. (stringToCharset(String)): Private method added to handle exception conversion. (byte[],int,int,Charset): Implemented. (byte[], Charset): Likewise. (getBytes(String)): Call new Charset method. (getBytes(Charset)): Implemented. 2008-12-18 Andrew John Hughes <gnu_andrew@member.fsf.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c: Include '\0' in the string. 2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/38473: * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c: (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative): Check that the glyph is an outline before calling FT_Outline_Decompose. 2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org> * gnu/xml/transform/Bindings.java: Add generics to collections. 2008-11-16 Andrew John Hughes <gnu_andrew@member.fsf.org> * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: (init(int,SecureRandom)): Improve exception message. 2008-11-06 Mark Wielaard <mark@klomp.org> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c (getKerning): Removed unused cls, method, values. 2008-11-05 Andrew Haley <aph@redhat.com> * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getKerning): Return result in a float[], not a Point2D. (performDefaultLayout): Call getKerning with a float[]. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c (getKerning): Return result in a float[], not a Point2D. 2008-11-05 Andrew Haley <aph@redhat.com> * tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude .svn direcories. 2008-10-23 David Edelsohn <edelsohn@gnu.org> * native/fdlibm/fdlibm.h: Undef hz. 2008-10-20 Andrew John Hughes <gnu_andrew@member.fsf.org> * m4/ac_prog_antlr.m4: Remove redundant checks. * tools/Makefile.am: Use gjdoc_gendir when calling antlr. 2008-10-17 Robert Lougher <rob.lougher@gmail.com> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Release 'fonts'. 2008-10-16 Tom Tromey <tromey@redhat.com> * tools/gnu/classpath/tools/jar/WorkSet.java (initSet): Use foreach. Change argument type. (WorkSet): Change argument type. * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use foreach. * tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries): Use foreach. (getAllEntries): Likewise. 2008-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org> * configure.ac: Remove superfluous AC_PROG_JAVA call. From-SVN: r143139
This commit is contained in:
parent
5e5debf66a
commit
c10bf728da
32 changed files with 5129 additions and 4669 deletions
|
@ -337,8 +337,58 @@ public final class String
|
|||
* @throws Error if the decoding fails
|
||||
* @since 1.1
|
||||
*/
|
||||
public String(byte[] data, int offset, int count, String encoding)
|
||||
public String(byte[] data, int offset, int count, final String encoding)
|
||||
throws UnsupportedEncodingException
|
||||
{
|
||||
this(data, offset, count, stringToCharset(encoding));
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper method to convert exceptions resulting from
|
||||
* the selection of a {@link java.nio.charset.Charset} based on
|
||||
* a String.
|
||||
*
|
||||
* @throws UnsupportedEncodingException if encoding is not found
|
||||
*/
|
||||
private static final Charset stringToCharset(final String encoding)
|
||||
throws UnsupportedEncodingException
|
||||
{
|
||||
try
|
||||
{
|
||||
return Charset.forName(encoding);
|
||||
}
|
||||
catch(IllegalCharsetNameException e)
|
||||
{
|
||||
throw new UnsupportedEncodingException("Encoding: "+encoding+
|
||||
" not found.");
|
||||
}
|
||||
catch(UnsupportedCharsetException e)
|
||||
{
|
||||
throw new UnsupportedEncodingException("Encoding: "+encoding+
|
||||
" not found.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new String using the portion of the byte array starting at the
|
||||
* offset and ending at offset + count. Uses the specified encoding type
|
||||
* to decode the byte array, so the resulting string may be longer or
|
||||
* shorter than the byte array. For more decoding control, use
|
||||
* {@link java.nio.charset.CharsetDecoder}, and for valid character sets,
|
||||
* see {@link java.nio.charset.Charset}. Malformed input and unmappable
|
||||
* character sequences are replaced with the default replacement string
|
||||
* provided by the {@link java.nio.charset.Charset}.
|
||||
*
|
||||
* @param data byte array to copy
|
||||
* @param offset the offset to start at
|
||||
* @param count the number of bytes in the array to use
|
||||
* @param encoding the encoding to use
|
||||
* @throws NullPointerException if data or encoding is null
|
||||
* @throws IndexOutOfBoundsException if offset or count is incorrect
|
||||
* (while unspecified, this is a StringIndexOutOfBoundsException)
|
||||
* @since 1.6
|
||||
*/
|
||||
public String(byte[] data, int offset, int count, Charset encoding)
|
||||
{
|
||||
if (offset < 0)
|
||||
throw new StringIndexOutOfBoundsException("offset: " + offset);
|
||||
|
@ -350,7 +400,7 @@ public final class String
|
|||
+ (offset + count));
|
||||
try
|
||||
{
|
||||
CharsetDecoder csd = Charset.forName(encoding).newDecoder();
|
||||
CharsetDecoder csd = encoding.newDecoder();
|
||||
csd.onMalformedInput(CodingErrorAction.REPLACE);
|
||||
csd.onUnmappableCharacter(CodingErrorAction.REPLACE);
|
||||
CharBuffer cbuf = csd.decode(ByteBuffer.wrap(data, offset, count));
|
||||
|
@ -366,16 +416,12 @@ public final class String
|
|||
this.offset = 0;
|
||||
this.count = value.length;
|
||||
}
|
||||
} catch(CharacterCodingException e){
|
||||
throw new UnsupportedEncodingException("Encoding: "+encoding+
|
||||
" not found.");
|
||||
} catch(IllegalCharsetNameException e){
|
||||
throw new UnsupportedEncodingException("Encoding: "+encoding+
|
||||
" not found.");
|
||||
} catch(UnsupportedCharsetException e){
|
||||
throw new UnsupportedEncodingException("Encoding: "+encoding+
|
||||
" not found.");
|
||||
}
|
||||
}
|
||||
catch(CharacterCodingException e)
|
||||
{
|
||||
// This shouldn't ever happen.
|
||||
throw (InternalError) new InternalError().initCause(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -401,6 +447,26 @@ public final class String
|
|||
this(data, 0, data.length, encoding);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new String using the byte array. Uses the specified encoding
|
||||
* type to decode the byte array, so the resulting string may be longer or
|
||||
* shorter than the byte array. For more decoding control, use
|
||||
* {@link java.nio.charset.CharsetDecoder}, and for valid character sets,
|
||||
* see {@link java.nio.charset.Charset}. Malformed input and unmappable
|
||||
* character sequences are replaced with the default replacement string
|
||||
* provided by the {@link java.nio.charset.Charset}.
|
||||
*
|
||||
* @param data byte array to copy
|
||||
* @param encoding the name of the encoding to use
|
||||
* @throws NullPointerException if data or encoding is null
|
||||
* @see #String(byte[], int, int, java.nio.Charset)
|
||||
* @since 1.6
|
||||
*/
|
||||
public String(byte[] data, Charset encoding)
|
||||
{
|
||||
this(data, 0, data.length, encoding);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new String using the portion of the byte array starting at the
|
||||
* offset and ending at offset + count. Uses the encoding of the platform's
|
||||
|
@ -726,11 +792,30 @@ public final class String
|
|||
* @throws UnsupportedEncodingException if encoding is not supported
|
||||
* @since 1.1
|
||||
*/
|
||||
public byte[] getBytes(String enc) throws UnsupportedEncodingException
|
||||
public byte[] getBytes(final String enc)
|
||||
throws UnsupportedEncodingException
|
||||
{
|
||||
return getBytes(stringToCharset(enc));
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts the Unicode characters in this String to a byte array. Uses the
|
||||
* specified encoding method, so the result may be longer or shorter than
|
||||
* the String. For more encoding control, use
|
||||
* {@link java.nio.charset.CharsetEncoder}, and for valid character sets,
|
||||
* see {@link java.nio.charset.Charset}. Unsupported characters get
|
||||
* replaced by the {@link java.nio.charset.Charset}'s default replacement.
|
||||
*
|
||||
* @param enc encoding name
|
||||
* @return the resulting byte array
|
||||
* @throws NullPointerException if enc is null
|
||||
* @since 1.6
|
||||
*/
|
||||
public byte[] getBytes(Charset enc)
|
||||
{
|
||||
try
|
||||
{
|
||||
CharsetEncoder cse = Charset.forName(enc).newEncoder();
|
||||
CharsetEncoder cse = enc.newEncoder();
|
||||
cse.onMalformedInput(CodingErrorAction.REPLACE);
|
||||
cse.onUnmappableCharacter(CodingErrorAction.REPLACE);
|
||||
ByteBuffer bbuf = cse.encode(CharBuffer.wrap(value, offset, count));
|
||||
|
@ -742,16 +827,6 @@ public final class String
|
|||
bbuf.get(bytes);
|
||||
return bytes;
|
||||
}
|
||||
catch(IllegalCharsetNameException e)
|
||||
{
|
||||
throw new UnsupportedEncodingException("Encoding: " + enc
|
||||
+ " not found.");
|
||||
}
|
||||
catch(UnsupportedCharsetException e)
|
||||
{
|
||||
throw new UnsupportedEncodingException("Encoding: " + enc
|
||||
+ " not found.");
|
||||
}
|
||||
catch(CharacterCodingException e)
|
||||
{
|
||||
// This shouldn't ever happen.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue