rt/emul/mini/src/main/java/java/lang/String.java
branchjavac
changeset 1317 66fdb47061aa
parent 1310 635ee75d82a5
child 1323 5d2341f16b4f
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/String.java	Fri Sep 27 20:20:50 2013 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/String.java	Sat Sep 28 02:43:18 2013 +0200
     1.3 @@ -27,6 +27,8 @@
     1.4  
     1.5  import java.io.UnsupportedEncodingException;
     1.6  import java.util.Comparator;
     1.7 +import java.util.Locale;
     1.8 +import java.util.Objects;
     1.9  import org.apidesign.bck2brwsr.core.ExtraJavaScript;
    1.10  import org.apidesign.bck2brwsr.core.JavaScriptBody;
    1.11  import org.apidesign.bck2brwsr.core.JavaScriptOnly;
    1.12 @@ -2454,7 +2456,9 @@
    1.13       * @see     java.lang.String#toUpperCase(Locale)
    1.14       * @since   1.1
    1.15       */
    1.16 -//    public String toLowerCase(Locale locale) {
    1.17 +    public String toLowerCase(java.util.Locale locale) {
    1.18 +        return toLowerCase();
    1.19 +    }
    1.20  //        if (locale == null) {
    1.21  //            throw new NullPointerException();
    1.22  //        }
    1.23 @@ -2569,7 +2573,7 @@
    1.24       */
    1.25      @JavaScriptBody(args = {}, body = "return this.toLowerCase();")
    1.26      public String toLowerCase() {
    1.27 -        throw new UnsupportedOperationException("Should be supported but without connection to locale");
    1.28 +        return null;
    1.29      }
    1.30  
    1.31      /**
    1.32 @@ -2620,8 +2624,10 @@
    1.33       * @see     java.lang.String#toLowerCase(Locale)
    1.34       * @since   1.1
    1.35       */
    1.36 +    public String toUpperCase(Locale locale) {
    1.37 +        return toUpperCase();
    1.38 +    }
    1.39      /* not for javascript 
    1.40 -    public String toUpperCase(Locale locale) {
    1.41          if (locale == null) {
    1.42              throw new NullPointerException();
    1.43          }
    1.44 @@ -2735,7 +2741,7 @@
    1.45       */
    1.46      @JavaScriptBody(args = {}, body = "return this.toUpperCase();")
    1.47      public String toUpperCase() {
    1.48 -        throw new UnsupportedOperationException();
    1.49 +        return null;
    1.50      }
    1.51  
    1.52      /**
    1.53 @@ -2846,7 +2852,7 @@
    1.54       * @since  1.5
    1.55       */
    1.56      public static String format(String format, Object ... args) {
    1.57 -        throw new UnsupportedOperationException();
    1.58 +        return format((Locale)null, format, args);
    1.59      }
    1.60  
    1.61      /**
    1.62 @@ -2889,9 +2895,14 @@
    1.63       * @see  java.util.Formatter
    1.64       * @since  1.5
    1.65       */
    1.66 -//    public static String format(Locale l, String format, Object ... args) {
    1.67 -//        return new Formatter(l).format(format, args).toString();
    1.68 -//    }
    1.69 +    public static String format(Locale l, String format, Object ... args) {
    1.70 +        String p = format;
    1.71 +        for (int i = 0; i < args.length; i++) {
    1.72 +            p = p.replaceFirst("%s", Objects.toString(args[i]));
    1.73 +        }
    1.74 +        return p;
    1.75 +        // return new Formatter(l).format(format, args).toString();
    1.76 +    }
    1.77  
    1.78      /**
    1.79       * Returns the string representation of the <code>Object</code> argument.