Class ListFormatter


  • public final class ListFormatter
    extends java.lang.Object
    Immutable class for formatting a list, using data from CLDR (or supplied separately). The class is not subclassable.
    Author:
    Mark Davis
    • Constructor Detail

      • ListFormatter

        @Deprecated
        public ListFormatter​(java.lang.String two,
                             java.lang.String start,
                             java.lang.String middle,
                             java.lang.String end)
        Deprecated.
        This API is ICU internal only.
        Internal: Create a ListFormatter from component strings, with definitions as in LDML.
        Parameters:
        two - string for two items, containing {0} for the first, and {1} for the second.
        start - string for the start of a list items, containing {0} for the first, and {1} for the rest.
        middle - string for the start of a list items, containing {0} for the first part of the list, and {1} for the rest of the list.
        end - string for the end of a list items, containing {0} for the first part of the list, and {1} for the last item.
    • Method Detail

      • getInstance

        public static ListFormatter getInstance​(java.util.Locale locale,
                                                ListFormatter.Type type,
                                                ListFormatter.Width width)
        Create a list formatter that is appropriate for a locale.
        Parameters:
        locale - the locale in question.
        Returns:
        ListFormatter
      • getInstance

        @Deprecated
        public static ListFormatter getInstance​(ULocale locale,
                                                ListFormatter.Style style)
        Deprecated.
        This API is ICU internal only.
        Create a list formatter that is appropriate for a locale and style.
        Parameters:
        locale - the locale in question.
        style - the style
        Returns:
        ListFormatter
      • getInstance

        public static ListFormatter getInstance​(ULocale locale)
        Create a list formatter that is appropriate for a locale.
        Parameters:
        locale - the locale in question.
        Returns:
        ListFormatter
      • getInstance

        public static ListFormatter getInstance​(java.util.Locale locale)
        Create a list formatter that is appropriate for a locale.
        Parameters:
        locale - the locale in question.
        Returns:
        ListFormatter
      • getInstance

        public static ListFormatter getInstance()
        Create a list formatter that is appropriate for the default FORMAT locale.
        Returns:
        ListFormatter
      • format

        public java.lang.String format​(java.lang.Object... items)
        Format a list of objects.
        Parameters:
        items - items to format. The toString() method is called on each.
        Returns:
        items formatted into a string
      • format

        public java.lang.String format​(java.util.Collection<?> items)
        Format a collection of objects. The toString() method is called on each.
        Parameters:
        items - items to format. The toString() method is called on each.
        Returns:
        items formatted into a string
      • formatToValue

        public ListFormatter.FormattedList formatToValue​(java.lang.Object... items)
        Format a list of objects to a FormattedList. You can access the offsets of each element from the FormattedList.
        Parameters:
        items - items to format. The toString() method is called on each.
        Returns:
        items formatted into a FormattedList
      • formatToValue

        public ListFormatter.FormattedList formatToValue​(java.util.Collection<?> items)
        Format a collection of objects to a FormattedList. You can access the offsets of each element from the FormattedList.
        Parameters:
        items - items to format. The toString() method is called on each.
        Returns:
        items formatted into a FormattedList
      • getPatternForNumItems

        public java.lang.String getPatternForNumItems​(int count)
        Returns the pattern to use for a particular item count.
        Parameters:
        count - the item count.
        Returns:
        the pattern with {0}, {1}, {2}, etc. For English, getPatternForNumItems(3) == "{0}, {1}, and {2}"
        Throws:
        java.lang.IllegalArgumentException - when count is 0 or negative.
      • getLocale

        @Deprecated
        public ULocale getLocale()
        Deprecated.
        This API is ICU internal only.
        Returns the locale of this object.