rt/emul/mini/src/main/java/java/lang/String.java
changeset 1336 804f6f982f4e
parent 1331 8d9d63f414b5
parent 1323 5d2341f16b4f
child 1342 44015f05c91b
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/String.java	Thu Oct 03 14:39:56 2013 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/String.java	Thu Oct 03 15:51:55 2013 +0200
     1.3 @@ -27,6 +27,7 @@
     1.4  
     1.5  import java.io.UnsupportedEncodingException;
     1.6  import java.util.Comparator;
     1.7 +import java.util.Locale;
     1.8  import org.apidesign.bck2brwsr.core.ExtraJavaScript;
     1.9  import org.apidesign.bck2brwsr.core.JavaScriptBody;
    1.10  import org.apidesign.bck2brwsr.core.JavaScriptOnly;
    1.11 @@ -2456,7 +2457,9 @@
    1.12       * @see     java.lang.String#toUpperCase(Locale)
    1.13       * @since   1.1
    1.14       */
    1.15 -//    public String toLowerCase(Locale locale) {
    1.16 +    public String toLowerCase(java.util.Locale locale) {
    1.17 +        return toLowerCase();
    1.18 +    }
    1.19  //        if (locale == null) {
    1.20  //            throw new NullPointerException();
    1.21  //        }
    1.22 @@ -2571,7 +2574,7 @@
    1.23       */
    1.24      @JavaScriptBody(args = {}, body = "return this.toLowerCase();")
    1.25      public String toLowerCase() {
    1.26 -        throw new UnsupportedOperationException("Should be supported but without connection to locale");
    1.27 +        return null;
    1.28      }
    1.29  
    1.30      /**
    1.31 @@ -2622,8 +2625,10 @@
    1.32       * @see     java.lang.String#toLowerCase(Locale)
    1.33       * @since   1.1
    1.34       */
    1.35 +    public String toUpperCase(Locale locale) {
    1.36 +        return toUpperCase();
    1.37 +    }
    1.38      /* not for javascript 
    1.39 -    public String toUpperCase(Locale locale) {
    1.40          if (locale == null) {
    1.41              throw new NullPointerException();
    1.42          }
    1.43 @@ -2737,7 +2742,7 @@
    1.44       */
    1.45      @JavaScriptBody(args = {}, body = "return this.toUpperCase();")
    1.46      public String toUpperCase() {
    1.47 -        throw new UnsupportedOperationException();
    1.48 +        return null;
    1.49      }
    1.50  
    1.51      /**
    1.52 @@ -2848,7 +2853,7 @@
    1.53       * @since  1.5
    1.54       */
    1.55      public static String format(String format, Object ... args) {
    1.56 -        throw new UnsupportedOperationException();
    1.57 +        return format((Locale)null, format, args);
    1.58      }
    1.59  
    1.60      /**
    1.61 @@ -2891,9 +2896,15 @@
    1.62       * @see  java.util.Formatter
    1.63       * @since  1.5
    1.64       */
    1.65 -//    public static String format(Locale l, String format, Object ... args) {
    1.66 -//        return new Formatter(l).format(format, args).toString();
    1.67 -//    }
    1.68 +    public static String format(Locale l, String format, Object ... args) {
    1.69 +        String p = format;
    1.70 +        for (int i = 0; i < args.length; i++) {
    1.71 +            String v = args[i] == null ? "null" : args[i].toString();
    1.72 +            p = p.replaceFirst("%s", v);
    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.