< prev index next >
src/java.base/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 48,57 ****
--- 48,58 ----
import java.util.spi.CalendarNameProvider;
import java.util.spi.CurrencyNameProvider;
import java.util.spi.LocaleNameProvider;
import java.util.spi.LocaleServiceProvider;
import java.util.spi.TimeZoneNameProvider;
+ import sun.text.spi.JavaTimeDateTimePatternProvider;
import sun.util.resources.LocaleData;
import sun.util.spi.CalendarProvider;
/**
* LocaleProviderAdapter implementation for the legacy JRE locale data.
*** 107,116 ****
--- 108,119 ----
return (P) getCalendarDataProvider();
case "CalendarNameProvider":
return (P) getCalendarNameProvider();
case "CalendarProvider":
return (P) getCalendarProvider();
+ case "JavaTimeDateTimePatternProvider":
+ return (P) getJavaTimeDateTimePatternProvider();
default:
throw new InternalError("should not come down here");
}
}
*** 126,135 ****
--- 129,139 ----
private volatile TimeZoneNameProvider timeZoneNameProvider;
private volatile CalendarDataProvider calendarDataProvider;
private volatile CalendarNameProvider calendarNameProvider;
private volatile CalendarProvider calendarProvider;
+ private volatile JavaTimeDateTimePatternProvider javaTimeDateTimePatternProvider;
/*
* Getter methods for java.text.spi.* providers
*/
@Override
*** 352,361 ****
--- 356,386 ----
}
}
return calendarProvider;
}
+ /**
+ * Getter methods for sun.text.spi.JavaTimeDateTimePatternProvider provider
+ */
+ @Override
+ public JavaTimeDateTimePatternProvider getJavaTimeDateTimePatternProvider() {
+ if (javaTimeDateTimePatternProvider == null) {
+ JavaTimeDateTimePatternProvider provider = AccessController.doPrivileged(
+ (PrivilegedAction<JavaTimeDateTimePatternProvider>) ()
+ -> new JavaTimeDateTimePatternImpl(
+ getAdapterType(),
+ getLanguageTagSet("FormatData")));
+
+ synchronized (this) {
+ if (javaTimeDateTimePatternProvider == null) {
+ javaTimeDateTimePatternProvider = provider;
+ }
+ }
+ }
+ return javaTimeDateTimePatternProvider;
+ }
+
@Override
public LocaleResources getLocaleResources(Locale locale) {
LocaleResources lr = localeResourcesMap.get(locale);
if (lr == null) {
lr = new LocaleResources(this, locale);
< prev index next >