Class CurrencyPluralInfo

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class CurrencyPluralInfo
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    This class represents the information needed by DecimalFormat to format currency plural, such as "3.00 US dollars" or "1.00 US dollar". DecimalFormat creates for itself an instance of CurrencyPluralInfo from its locale data. If you need to change any of these symbols, you can get the CurrencyPluralInfo object from your DecimalFormat and modify it. Following are the information needed for currency plural format and parse: locale information, plural rule of the locale, currency plural pattern of the locale.
    See Also:
    Serialized Form
    • Constructor Detail

      • CurrencyPluralInfo

        public CurrencyPluralInfo()
        Create a CurrencyPluralInfo object for the default FORMAT locale.
        See Also:
        ULocale.Category.FORMAT
      • CurrencyPluralInfo

        public CurrencyPluralInfo​(java.util.Locale locale)
        Create a CurrencyPluralInfo object for the given locale.
        Parameters:
        locale - the locale
      • CurrencyPluralInfo

        public CurrencyPluralInfo​(ULocale locale)
        Create a CurrencyPluralInfo object for the given locale.
        Parameters:
        locale - the locale
    • Method Detail

      • getInstance

        public static CurrencyPluralInfo getInstance()
        Gets a CurrencyPluralInfo instance for the default locale.
        Returns:
        A CurrencyPluralInfo instance.
      • getInstance

        public static CurrencyPluralInfo getInstance​(java.util.Locale locale)
        Gets a CurrencyPluralInfo instance for the given locale.
        Parameters:
        locale - the locale.
        Returns:
        A CurrencyPluralInfo instance.
      • getInstance

        public static CurrencyPluralInfo getInstance​(ULocale locale)
        Gets a CurrencyPluralInfo instance for the given locale.
        Parameters:
        locale - the locale.
        Returns:
        A CurrencyPluralInfo instance.
      • getPluralRules

        public PluralRules getPluralRules()
        Gets plural rules of this locale, used for currency plural format
        Returns:
        plural rule
      • getCurrencyPluralPattern

        public java.lang.String getCurrencyPluralPattern​(java.lang.String pluralCount)
        Given a plural count, gets currency plural pattern of this locale, used for currency plural format
        Parameters:
        pluralCount - currency plural count
        Returns:
        a currency plural pattern based on plural count
      • getLocale

        public ULocale getLocale()
        Get locale
        Returns:
        locale
      • setPluralRules

        public void setPluralRules​(java.lang.String ruleDescription)
        Set plural rules. These are initially set in the constructor based on the locale, and usually do not need to be changed.
        Parameters:
        ruleDescription - new plural rule description
      • setCurrencyPluralPattern

        public void setCurrencyPluralPattern​(java.lang.String pluralCount,
                                             java.lang.String pattern)
        Set currency plural patterns. These are initially set in the constructor based on the locale, and usually do not need to be changed. The decimal digits part of the pattern cannot be specified via this method. All plural forms will use the same decimal pattern as set in the constructor of DecimalFormat. For example, you can't set "0.0" for plural "few" but "0.00" for plural "many".
        Parameters:
        pluralCount - the plural count for which the currency pattern will be overridden.
        pattern - the new currency plural pattern
      • setLocale

        public void setLocale​(ULocale loc)
        Set locale. This also sets both the plural rules and the currency plural patterns to be the defaults for the locale.
        Parameters:
        loc - the new locale to set
      • clone

        public java.lang.Object clone()
        Standard override
        Overrides:
        clone in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object a)
        Override equals
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Override hashCode
        Overrides:
        hashCode in class java.lang.Object
      • select

        @Deprecated
        public java.lang.String select​(PluralRules.FixedDecimal numberInfo)
        Deprecated.
        This API is ICU internal only.
        Given a number, returns the keyword of the first rule that applies to the number.
      • pluralPatternIterator

        @Deprecated
        public java.util.Iterator<java.lang.String> pluralPatternIterator()
        Deprecated.
        This API is ICU internal only.
        Currency plural pattern iterator.
        Returns:
        a iterator on the currency plural pattern key set.