< 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 >