类java.text.spi.DateFormatSymbolsProvider源码实例Demo

下面列出了怎么用java.text.spi.DateFormatSymbolsProvider的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Bytecoder   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = AccessController.doPrivileged(
            (PrivilegedAction<DateFormatSymbolsProvider>) () ->
                new DateFormatSymbolsProviderImpl(
                    getAdapterType(),
                    getLanguageTagSet("FormatData")));

        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码2 项目: jdk-1.7-annotated   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    DateFormatSymbols providersInstance = null;

    // Check whether a provider can provide an implementation that's closer
    // to the requested locale than what the Java runtime itself can provide.
    LocaleServiceProviderPool pool =
        LocaleServiceProviderPool.getPool(DateFormatSymbolsProvider.class);
    if (pool.hasProviders()) {
        providersInstance = pool.getLocalizedObject(
                                DateFormatSymbolsGetter.INSTANCE, locale);
    }
    return providersInstance;
}
 
源代码3 项目: jdk8u_jdk   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码4 项目: TencentKona-8   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码5 项目: jdk8u_jdk   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码6 项目: jdk8u60   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码7 项目: jdk8u60   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码8 项目: jdk-1.7-annotated   文件: DateFormatSymbols.java
public DateFormatSymbols getObject(DateFormatSymbolsProvider dateFormatSymbolsProvider,
                        Locale locale,
                        String key,
                        Object... params) {
    assert params.length == 0;
    return dateFormatSymbolsProvider.getInstance(locale);
}
 
源代码9 项目: JDKSourceCode1.8   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码10 项目: openjdk-jdk8u   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码11 项目: jdk8u-jdk   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码12 项目: openjdk-jdk8u   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码13 项目: openjdk-8-source   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码15 项目: Bytecoder   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码16 项目: jdk8u-jdk   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码17 项目: jdk8u-jdk   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码18 项目: Java8CN   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码19 项目: hottub   文件: DateFormatSymbols.java
private static DateFormatSymbols getProviderInstance(Locale locale) {
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    DateFormatSymbolsProvider provider = adapter.getDateFormatSymbolsProvider();
    DateFormatSymbols dfsyms = provider.getInstance(locale);
    if (dfsyms == null) {
        provider = LocaleProviderAdapter.forJRE().getDateFormatSymbolsProvider();
        dfsyms = provider.getInstance(locale);
    }
    return dfsyms;
}
 
源代码20 项目: hottub   文件: JRELocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    if (dateFormatSymbolsProvider == null) {
        DateFormatSymbolsProvider provider = new DateFormatSymbolsProviderImpl(getAdapterType(),
                                                            getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (dateFormatSymbolsProvider == null) {
                dateFormatSymbolsProvider = provider;
            }
        }
    }
    return dateFormatSymbolsProvider;
}
 
源代码21 项目: jdk8u-dev-jdk   文件: AuxLocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    return getLocaleServiceProvider(DateFormatSymbolsProvider.class);
}
 
源代码22 项目: openjdk-8   文件: SPILocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码23 项目: dragonwell8_jdk   文件: DateFormatSymbols.java
/**
 * Initializes this DateFormatSymbols with the locale data. This method uses
 * a cached DateFormatSymbols instance for the given locale if available. If
 * there's no cached one, this method creates an uninitialized instance and
 * populates its fields from the resource bundle for the locale, and caches
 * the instance. Note: zoneStrings isn't initialized in this method.
 */
private void initializeData(Locale locale) {
    SoftReference<DateFormatSymbols> ref = cachedInstances.get(locale);
    DateFormatSymbols dfs;
    if (ref == null || (dfs = ref.get()) == null) {
        if (ref != null) {
            // Remove the empty SoftReference
            cachedInstances.remove(locale, ref);
        }
        dfs = new DateFormatSymbols(false);

        // Initialize the fields from the ResourceBundle for locale.
        LocaleProviderAdapter adapter
            = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
        // Avoid any potential recursions
        if (!(adapter instanceof ResourceBundleBasedAdapter)) {
            adapter = LocaleProviderAdapter.getResourceBundleBased();
        }
        ResourceBundle resource
            = ((ResourceBundleBasedAdapter)adapter).getLocaleData().getDateFormatData(locale);

        dfs.locale = locale;
        // JRE and CLDR use different keys
        // JRE: Eras, short.Eras and narrow.Eras
        // CLDR: long.Eras, Eras and narrow.Eras
        if (resource.containsKey("Eras")) {
            dfs.eras = resource.getStringArray("Eras");
        } else if (resource.containsKey("long.Eras")) {
            dfs.eras = resource.getStringArray("long.Eras");
        } else if (resource.containsKey("short.Eras")) {
            dfs.eras = resource.getStringArray("short.Eras");
        }
        dfs.months = resource.getStringArray("MonthNames");
        dfs.shortMonths = resource.getStringArray("MonthAbbreviations");
        dfs.ampms = resource.getStringArray("AmPmMarkers");
        dfs.localPatternChars = resource.getString("DateTimePatternChars");

        // Day of week names are stored in a 1-based array.
        dfs.weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
        dfs.shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));

        // Put dfs in the cache
        ref = new SoftReference<>(dfs);
        SoftReference<DateFormatSymbols> x = cachedInstances.putIfAbsent(locale, ref);
        if (x != null) {
            DateFormatSymbols y = x.get();
            if (y == null) {
                // Replace the empty SoftReference with ref.
                cachedInstances.replace(locale, x, ref);
            } else {
                ref = x;
                dfs = y;
            }
        }
        // If the bundle's locale isn't the target locale, put another cache
        // entry for the bundle's locale.
        Locale bundleLocale = resource.getLocale();
        if (!bundleLocale.equals(locale)) {
            SoftReference<DateFormatSymbols> z
                = cachedInstances.putIfAbsent(bundleLocale, ref);
            if (z != null && z.get() == null) {
                cachedInstances.replace(bundleLocale, z, ref);
            }
        }
    }

    // Copy the field values from dfs to this instance.
    copyMembers(dfs, this);
}
 
源代码24 项目: dragonwell8_jdk   文件: AuxLocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    return getLocaleServiceProvider(DateFormatSymbolsProvider.class);
}
 
源代码25 项目: dragonwell8_jdk   文件: SPILocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码26 项目: jdk8u-dev-jdk   文件: SPILocaleProviderAdapter.java
@Override
public void addImpl(DateFormatSymbolsProvider impl) {
    for (Locale l : impl.getAvailableLocales()) {
        map.putIfAbsent(l, impl);
    }
}
 
源代码27 项目: TencentKona-8   文件: DateFormatSymbols.java
/**
 * Initializes this DateFormatSymbols with the locale data. This method uses
 * a cached DateFormatSymbols instance for the given locale if available. If
 * there's no cached one, this method creates an uninitialized instance and
 * populates its fields from the resource bundle for the locale, and caches
 * the instance. Note: zoneStrings isn't initialized in this method.
 */
private void initializeData(Locale locale) {
    SoftReference<DateFormatSymbols> ref = cachedInstances.get(locale);
    DateFormatSymbols dfs;
    if (ref == null || (dfs = ref.get()) == null) {
        if (ref != null) {
            // Remove the empty SoftReference
            cachedInstances.remove(locale, ref);
        }
        dfs = new DateFormatSymbols(false);

        // Initialize the fields from the ResourceBundle for locale.
        LocaleProviderAdapter adapter
            = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
        // Avoid any potential recursions
        if (!(adapter instanceof ResourceBundleBasedAdapter)) {
            adapter = LocaleProviderAdapter.getResourceBundleBased();
        }
        ResourceBundle resource
            = ((ResourceBundleBasedAdapter)adapter).getLocaleData().getDateFormatData(locale);

        dfs.locale = locale;
        // JRE and CLDR use different keys
        // JRE: Eras, short.Eras and narrow.Eras
        // CLDR: long.Eras, Eras and narrow.Eras
        if (resource.containsKey("Eras")) {
            dfs.eras = resource.getStringArray("Eras");
        } else if (resource.containsKey("long.Eras")) {
            dfs.eras = resource.getStringArray("long.Eras");
        } else if (resource.containsKey("short.Eras")) {
            dfs.eras = resource.getStringArray("short.Eras");
        }
        dfs.months = resource.getStringArray("MonthNames");
        dfs.shortMonths = resource.getStringArray("MonthAbbreviations");
        dfs.ampms = resource.getStringArray("AmPmMarkers");
        dfs.localPatternChars = resource.getString("DateTimePatternChars");

        // Day of week names are stored in a 1-based array.
        dfs.weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
        dfs.shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));

        // Put dfs in the cache
        ref = new SoftReference<>(dfs);
        SoftReference<DateFormatSymbols> x = cachedInstances.putIfAbsent(locale, ref);
        if (x != null) {
            DateFormatSymbols y = x.get();
            if (y == null) {
                // Replace the empty SoftReference with ref.
                cachedInstances.replace(locale, x, ref);
            } else {
                ref = x;
                dfs = y;
            }
        }
        // If the bundle's locale isn't the target locale, put another cache
        // entry for the bundle's locale.
        Locale bundleLocale = resource.getLocale();
        if (!bundleLocale.equals(locale)) {
            SoftReference<DateFormatSymbols> z
                = cachedInstances.putIfAbsent(bundleLocale, ref);
            if (z != null && z.get() == null) {
                cachedInstances.replace(bundleLocale, z, ref);
            }
        }
    }

    // Copy the field values from dfs to this instance.
    copyMembers(dfs, this);
}
 
源代码28 项目: TencentKona-8   文件: AuxLocaleProviderAdapter.java
@Override
public DateFormatSymbolsProvider getDateFormatSymbolsProvider() {
    return getLocaleServiceProvider(DateFormatSymbolsProvider.class);
}
 
源代码29 项目: jdk8u60   文件: DateFormatSymbols.java
private void initializeData(Locale desiredLocale) {
    locale = desiredLocale;

    // Copy values of a cached instance if any.
    SoftReference<DateFormatSymbols> ref = cachedInstances.get(locale);
    DateFormatSymbols dfs;
    if (ref != null && (dfs = ref.get()) != null) {
        copyMembers(dfs, this);
        return;
    }

    // Initialize the fields from the ResourceBundle for locale.
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    // Avoid any potential recursions
    if (!(adapter instanceof ResourceBundleBasedAdapter)) {
        adapter = LocaleProviderAdapter.getResourceBundleBased();
    }
    ResourceBundle resource = ((ResourceBundleBasedAdapter)adapter).getLocaleData().getDateFormatData(locale);

    // JRE and CLDR use different keys
    // JRE: Eras, short.Eras and narrow.Eras
    // CLDR: long.Eras, Eras and narrow.Eras
    if (resource.containsKey("Eras")) {
        eras = resource.getStringArray("Eras");
    } else if (resource.containsKey("long.Eras")) {
        eras = resource.getStringArray("long.Eras");
    } else if (resource.containsKey("short.Eras")) {
        eras = resource.getStringArray("short.Eras");
    }
    months = resource.getStringArray("MonthNames");
    shortMonths = resource.getStringArray("MonthAbbreviations");
    ampms = resource.getStringArray("AmPmMarkers");
    localPatternChars = resource.getString("DateTimePatternChars");

    // Day of week names are stored in a 1-based array.
    weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
    shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));

    // Put a clone in the cache
    ref = new SoftReference<>((DateFormatSymbols)this.clone());
    SoftReference<DateFormatSymbols> x = cachedInstances.putIfAbsent(locale, ref);
    if (x != null) {
        DateFormatSymbols y = x.get();
        if (y == null) {
            // Replace the empty SoftReference with ref.
            cachedInstances.put(locale, ref);
        }
    }
}
 
源代码30 项目: jdk8u-jdk   文件: DateFormatSymbols.java
private void initializeData(Locale desiredLocale) {
    locale = desiredLocale;

    // Copy values of a cached instance if any.
    SoftReference<DateFormatSymbols> ref = cachedInstances.get(locale);
    DateFormatSymbols dfs;
    if (ref != null && (dfs = ref.get()) != null) {
        copyMembers(dfs, this);
        return;
    }

    // Initialize the fields from the ResourceBundle for locale.
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DateFormatSymbolsProvider.class, locale);
    // Avoid any potential recursions
    if (!(adapter instanceof ResourceBundleBasedAdapter)) {
        adapter = LocaleProviderAdapter.getResourceBundleBased();
    }
    ResourceBundle resource = ((ResourceBundleBasedAdapter)adapter).getLocaleData().getDateFormatData(locale);

    // JRE and CLDR use different keys
    // JRE: Eras, short.Eras and narrow.Eras
    // CLDR: long.Eras, Eras and narrow.Eras
    if (resource.containsKey("Eras")) {
        eras = resource.getStringArray("Eras");
    } else if (resource.containsKey("long.Eras")) {
        eras = resource.getStringArray("long.Eras");
    } else if (resource.containsKey("short.Eras")) {
        eras = resource.getStringArray("short.Eras");
    }
    months = resource.getStringArray("MonthNames");
    shortMonths = resource.getStringArray("MonthAbbreviations");
    ampms = resource.getStringArray("AmPmMarkers");
    localPatternChars = resource.getString("DateTimePatternChars");

    // Day of week names are stored in a 1-based array.
    weekdays = toOneBasedArray(resource.getStringArray("DayNames"));
    shortWeekdays = toOneBasedArray(resource.getStringArray("DayAbbreviations"));

    // Put a clone in the cache
    ref = new SoftReference<>((DateFormatSymbols)this.clone());
    SoftReference<DateFormatSymbols> x = cachedInstances.putIfAbsent(locale, ref);
    if (x != null) {
        DateFormatSymbols y = x.get();
        if (y == null) {
            // Replace the empty SoftReference with ref.
            cachedInstances.put(locale, ref);
        }
    }
}