diff options
Diffstat (limited to 'libjava/java/lang/String.java')
-rw-r--r-- | libjava/java/lang/String.java | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java deleted file mode 100644 index 272f3e29a4d..00000000000 --- a/libjava/java/lang/String.java +++ /dev/null @@ -1,307 +0,0 @@ -/* Copyright (C) 1998, 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 java.lang; -import java.io.UnsupportedEncodingException; - -/** - * @author Per Bothner <bothner@cygnus.com> - * @date September 4, 1998. - */ -/* Written using "Java Class Libraries", 2nd edition, plus online - * API docs for JDK 1.2 beta from http://www.javasoft.com. - * Status: Complete to 1.1, but see FIXMEs. Also see testsuite results. - */ - -public final class String -{ - private Object data; - private int boffset; // Note this is a byte offset - don't use in Java code! - private int count; - - public String () - { - init(); - } - - public String (String value) - { - data = value.data; - boffset = value.boffset; - count = value.count; - } - - public String (StringBuffer buffer) - { - init (buffer.value, 0, buffer.count, true); - } - - public String (char[] data) - { - init(data, 0, data.length, false); - } - - public String (char[] data, int offset, int count) - { - init(data, offset, count, false); - } - - public String (byte[] byteArray) - { - this (byteArray, 0, byteArray.length); - } - - public String (byte[] byteArray, int offset, int count) - { - try - { - init (byteArray, offset, count, - System.getProperty("file.encoding", "8859_1")); - } - catch (UnsupportedEncodingException x1) - { - // Maybe the default encoding is bad. - try - { - init (byteArray, offset, count, "8859_1"); - } - catch (UnsupportedEncodingException x2) - { - // We know this can't happen. - } - } - } - - public String (byte[] byteArray, String enc) - throws UnsupportedEncodingException - { - this (byteArray, 0, byteArray.length, enc); - } - - public String (byte[] byteArray, int offset, int count, String enc) - throws UnsupportedEncodingException - { - init (byteArray, offset, count, enc); - } - - public static String copyValueOf(char[] data) - { - return copyValueOf (data, 0, data.length); - } - - public static String copyValueOf(char[] data, int offset, int count) - { - String r = new String (); - r.init(data, offset, count, false); - return r; - } - - /** @deprecated */ - public String (byte[] ascii, int hibyte) - { - init(ascii, hibyte, 0, ascii.length); - } - - /** @deprecated */ - public String (byte[] ascii, int hibyte, int offset, int count) - { - init(ascii, hibyte, offset, count); - } - - public String toString () - { - // because String is final, we actually get this far on a null reference - if (this == null) - throw new NullPointerException(); - return this; - } - - public native boolean equals (Object anObject); - - public native int hashCode (); - - public int length () - { - return count; - } - - public native char charAt (int index); - - public native void getChars (int srcBegin, int srcEnd, - char[] dst, int dstBegin); - - public byte[] getBytes () - { - try - { - return getBytes (System.getProperty("file.encoding", "8859_1")); - } - catch (UnsupportedEncodingException x) - { - // This probably shouldn't happen, but could if file.encoding - // is somehow changed to a value we don't understand. - try - { - return getBytes ("8859_1"); - } - catch (UnsupportedEncodingException x2) - { - // This really shouldn't happen, because the 8859_1 - // encoding should always be available. - throw new InternalError ("couldn't find 8859_1 encoder"); - } - } - } - - public native byte[] getBytes (String enc) - throws UnsupportedEncodingException; - - /** @deprecated */ - public native void getBytes (int srcBegin, int srcEnd, - byte[] dst, int dstBegin); - - public native char[] toCharArray (); - - public native boolean equalsIgnoreCase (String anotherString); - - public native int compareTo (String anotherString); - - public native boolean regionMatches (int toffset, - String other, int ooffset, int len); - - public native boolean regionMatches (boolean ignoreCase, int toffset, - String other, int ooffset, int len); - - public boolean startsWith (String prefix) - { - return startsWith (prefix, 0); - } - - public native boolean startsWith (String prefix, int toffset); - - public boolean endsWith (String suffix) - { - return regionMatches (this.count - suffix.count, suffix, 0, suffix.count); - } - - // No such method specified in the doc, including JDK 1.2. - // public boolean endsWith (String suffix, int toffset) - // { - // return regionMatches (toffset, suffix, 0, suffix.count); - // } - - // The Language Specification, and the JDK 1.2 API docs say that - // index and lastIndex take an int, while the Class Libraries - // say they take a char. The former wins ... - - public int indexOf (int ch) - { - return indexOf (ch, 0); - } - - public native int indexOf (int ch, int fromIndex); - - public int indexOf (String str) - { - return indexOf (str, 0); - } - - public native int indexOf (String str, int fromIndex); - - public int lastIndexOf (int ch) - { - return lastIndexOf (ch, count - 1); - } - - public native int lastIndexOf (int ch, int fromIndex); - - public int lastIndexOf (String str) - { - return lastIndexOf (str, count - str.count); - } - - public int lastIndexOf (String str, int fromIndex) - { - if (fromIndex >= count) - fromIndex = count - str.count; - for (;; --fromIndex) - { - if (fromIndex < 0) - return -1; - if (startsWith(str, fromIndex)) - return fromIndex; - } - } - - public String substring (int beginIndex) - { - return substring (beginIndex, count); - } - - public native String substring (int beginIndex, int endIndex); - - public native String concat (String str); - - public native String replace (char oldChar, char newChar); - - public native String toLowerCase (); - - public native String toUpperCase (); - - public native String trim (); - - public static String valueOf (Object obj) - { - return obj == null ? "null" : obj.toString(); - } - - public static String valueOf (char[] data) - { - return valueOf (data, 0, data.length); - } - - public static native String valueOf (char[] data, int offset, int count); - - public static String valueOf (boolean b) - { - return b ? "true" : "false"; - } - - public static native String valueOf (char c); - - public static String valueOf (int i) - { - return Integer.toString(i); - } - - public static String valueOf (long l) - { - return Long.toString(l); - } - - public static String valueOf (float f) - { - return Float.toString(f); - } - - public static String valueOf (double d) - { - return Double.toString(d); - } - - public native String intern (); - - private native void init (); - private native void init (char[] chars, int offset, int count, - boolean dont_copy); - private native void init (byte[] chars, int hibyte, int offset, int count); - private native void init (byte[] chars, int offset, int count, String enc) - throws UnsupportedEncodingException; - private static native void unintern (Object obj); - private static native void rehash (); -} |