486 return supportedLocaleString;
487 }
488
489 /**
490 * Lazy load available locales.
491 */
492 private static class AvailableJRELocales {
493 private static final Locale[] localeList = createAvailableLocales();
494 private AvailableJRELocales() {
495 }
496 }
497
498 private static Locale[] createAvailableLocales() {
499 /*
500 * Gets the locale string list from LocaleDataMetaInfo classes and then
501 * contructs the Locale array and a set of language tags based on the
502 * locale string returned above.
503 */
504 String supportedLocaleString = createSupportedLocaleString("AvailableLocales");
505
506 if (supportedLocaleString.length() == 0) {
507 throw new InternalError("No available locales for JRE");
508 }
509
510 StringTokenizer localeStringTokenizer = new StringTokenizer(supportedLocaleString);
511
512 int length = localeStringTokenizer.countTokens();
513 Locale[] locales = new Locale[length + 1];
514 locales[0] = Locale.ROOT;
515 for (int i = 1; i <= length; i++) {
516 String currentToken = localeStringTokenizer.nextToken();
517 switch (currentToken) {
518 case "ja-JP-JP":
519 locales[i] = JRELocaleConstants.JA_JP_JP;
520 break;
521 case "no-NO-NY":
522 locales[i] = JRELocaleConstants.NO_NO_NY;
523 break;
524 case "th-TH-TH":
525 locales[i] = JRELocaleConstants.TH_TH_TH;
526 break;
|
486 return supportedLocaleString;
487 }
488
489 /**
490 * Lazy load available locales.
491 */
492 private static class AvailableJRELocales {
493 private static final Locale[] localeList = createAvailableLocales();
494 private AvailableJRELocales() {
495 }
496 }
497
498 private static Locale[] createAvailableLocales() {
499 /*
500 * Gets the locale string list from LocaleDataMetaInfo classes and then
501 * contructs the Locale array and a set of language tags based on the
502 * locale string returned above.
503 */
504 String supportedLocaleString = createSupportedLocaleString("AvailableLocales");
505
506 if (supportedLocaleString.isEmpty()) {
507 throw new InternalError("No available locales for JRE");
508 }
509
510 StringTokenizer localeStringTokenizer = new StringTokenizer(supportedLocaleString);
511
512 int length = localeStringTokenizer.countTokens();
513 Locale[] locales = new Locale[length + 1];
514 locales[0] = Locale.ROOT;
515 for (int i = 1; i <= length; i++) {
516 String currentToken = localeStringTokenizer.nextToken();
517 switch (currentToken) {
518 case "ja-JP-JP":
519 locales[i] = JRELocaleConstants.JA_JP_JP;
520 break;
521 case "no-NO-NY":
522 locales[i] = JRELocaleConstants.NO_NO_NY;
523 break;
524 case "th-TH-TH":
525 locales[i] = JRELocaleConstants.TH_TH_TH;
526 break;
|