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

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

源代码1 项目: jdk-1.7-annotated   文件: DecimalFormatSymbols.java
/**
 * Gets the <code>DecimalFormatSymbols</code> instance for the specified
 * locale.  This method provides access to <code>DecimalFormatSymbols</code>
 * instances for locales supported by the Java runtime itself as well
 * as for those supported by installed
 * {@link java.text.spi.DecimalFormatSymbolsProvider
 * DecimalFormatSymbolsProvider} implementations.
 * @param locale the desired locale.
 * @return a <code>DecimalFormatSymbols</code> instance.
 * @exception NullPointerException if <code>locale</code> is null
 * @since 1.6
 */
public static final DecimalFormatSymbols getInstance(Locale locale) {

    // 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(DecimalFormatSymbolsProvider.class);
    if (pool.hasProviders()) {
        DecimalFormatSymbols providersInstance = pool.getLocalizedObject(
                            DecimalFormatSymbolsGetter.INSTANCE, locale);
        if (providersInstance != null) {
            return providersInstance;
        }
    }

    return new DecimalFormatSymbols(locale);
}
 
源代码2 项目: Bytecoder   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = AccessController.doPrivileged(
            (PrivilegedAction<DecimalFormatSymbolsProvider>) () ->
                new DecimalFormatSymbolsProviderImpl(
                    getAdapterType(),
                    getLanguageTagSet("FormatData")));

        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码3 项目: openjdk-jdk9   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = AccessController.doPrivileged(
            (PrivilegedAction<DecimalFormatSymbolsProvider>) () ->
                new DecimalFormatSymbolsProviderImpl(
                    getAdapterType(),
                    getLanguageTagSet("FormatData")));

        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码4 项目: TencentKona-8   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码5 项目: jdk8u_jdk   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码6 项目: jdk8u60   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码7 项目: openjdk-jdk8u   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码9 项目: openjdk-8   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码10 项目: openjdk-jdk9   文件: DecimalFormatSymbols.java
/**
 * Initializes the symbols from the FormatData resource bundle.
 */
private void initialize( Locale locale ) {
    this.locale = locale;

    // get resource bundle data
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DecimalFormatSymbolsProvider.class, locale);
    // Avoid potential recursions
    if (!(adapter instanceof ResourceBundleBasedAdapter)) {
        adapter = LocaleProviderAdapter.getResourceBundleBased();
    }
    Object[] data = adapter.getLocaleResources(locale).getDecimalFormatSymbolsData();
    String[] numberElements = (String[]) data[0];

    decimalSeparator = numberElements[0].charAt(0);
    groupingSeparator = numberElements[1].charAt(0);
    patternSeparator = numberElements[2].charAt(0);
    percent = numberElements[3].charAt(0);
    zeroDigit = numberElements[4].charAt(0); //different for Arabic,etc.
    digit = numberElements[5].charAt(0);
    minusSign = numberElements[6].charAt(0);
    exponential = numberElements[7].charAt(0);
    exponentialSeparator = numberElements[7]; //string representation new since 1.6
    perMill = numberElements[8].charAt(0);
    infinity  = numberElements[9];
    NaN = numberElements[10];

    // maybe filled with previously cached values, or null.
    intlCurrencySymbol = (String) data[1];
    currencySymbol = (String) data[2];

    // Currently the monetary decimal separator is the same as the
    // standard decimal separator for all locales that we support.
    // If that changes, add a new entry to NumberElements.
    monetarySeparator = decimalSeparator;
}
 
源代码11 项目: jdk8u-jdk   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码12 项目: hottub   文件: JRELocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    if (decimalFormatSymbolsProvider == null) {
        DecimalFormatSymbolsProvider provider = new DecimalFormatSymbolsProviderImpl(getAdapterType(), getLanguageTagSet("FormatData"));
        synchronized (this) {
            if (decimalFormatSymbolsProvider == null) {
                decimalFormatSymbolsProvider = provider;
            }
        }
    }
    return decimalFormatSymbolsProvider;
}
 
源代码14 项目: openjdk-8   文件: SPILocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码15 项目: dragonwell8_jdk   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码16 项目: dragonwell8_jdk   文件: SPILocaleProviderAdapter.java
@Override
public void addImpl(DecimalFormatSymbolsProvider impl) {
    for (Locale l : impl.getAvailableLocales()) {
        map.putIfAbsent(l, impl);
    }
}
 
源代码17 项目: dragonwell8_jdk   文件: SPILocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码18 项目: TencentKona-8   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码19 项目: TencentKona-8   文件: SPILocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码20 项目: jdk8u60   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码21 项目: jdk8u60   文件: SPILocaleProviderAdapter.java
@Override
public void addImpl(DecimalFormatSymbolsProvider impl) {
    for (Locale l : impl.getAvailableLocales()) {
        map.putIfAbsent(l, impl);
    }
}
 
源代码22 项目: jdk8u60   文件: SPILocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
源代码23 项目: openjdk-8   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码24 项目: openjdk-jdk8u   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码25 项目: openjdk-jdk8u   文件: SPILocaleProviderAdapter.java
@Override
public void addImpl(DecimalFormatSymbolsProvider impl) {
    for (Locale l : impl.getAvailableLocales()) {
        map.putIfAbsent(l, impl);
    }
}
 
源代码26 项目: openjdk-jdk8u   文件: SPILocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getImpl(Locale locale) {
    return SPILocaleProviderAdapter.getImpl(map, locale);
}
 
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码28 项目: Bytecoder   文件: DecimalFormatSymbols.java
/**
 * Initializes the symbols from the FormatData resource bundle.
 */
private void initialize( Locale locale ) {
    this.locale = locale;

    // check for region override
    Locale override = locale.getUnicodeLocaleType("nu") == null ?
        CalendarDataUtility.findRegionOverride(locale) :
        locale;

    // get resource bundle data
    LocaleProviderAdapter adapter = LocaleProviderAdapter.getAdapter(DecimalFormatSymbolsProvider.class, override);
    // Avoid potential recursions
    if (!(adapter instanceof ResourceBundleBasedAdapter)) {
        adapter = LocaleProviderAdapter.getResourceBundleBased();
    }
    Object[] data = adapter.getLocaleResources(override).getDecimalFormatSymbolsData();
    String[] numberElements = (String[]) data[0];

    decimalSeparator = numberElements[0].charAt(0);
    groupingSeparator = numberElements[1].charAt(0);
    patternSeparator = numberElements[2].charAt(0);
    percentText = numberElements[3];
    percent = findNonFormatChar(percentText, '%');
    zeroDigit = numberElements[4].charAt(0); //different for Arabic,etc.
    digit = numberElements[5].charAt(0);
    minusSignText = numberElements[6];
    minusSign = findNonFormatChar(minusSignText, '-');
    exponential = numberElements[7].charAt(0);
    exponentialSeparator = numberElements[7]; //string representation new since 1.6
    perMillText = numberElements[8];
    perMill = findNonFormatChar(perMillText, '\u2030');
    infinity  = numberElements[9];
    NaN = numberElements[10];

    // maybe filled with previously cached values, or null.
    intlCurrencySymbol = (String) data[1];
    currencySymbol = (String) data[2];

    // Currently the monetary decimal separator is the same as the
    // standard decimal separator for all locales that we support.
    // If that changes, add a new entry to NumberElements.
    monetarySeparator = decimalSeparator;
}
 
源代码29 项目: Bytecoder   文件: AuxLocaleProviderAdapter.java
@Override
public DecimalFormatSymbolsProvider getDecimalFormatSymbolsProvider() {
    return getLocaleServiceProvider(DecimalFormatSymbolsProvider.class);
}
 
源代码30 项目: Bytecoder   文件: SPILocaleProviderAdapter.java
@Override
public Map<Locale, DecimalFormatSymbolsProvider> getDelegateMap() {
    return map;
}