Class DateTimeTextProvider


  • public abstract class DateTimeTextProvider
    extends Object
    The Service Provider Interface (SPI) to be implemented by classes providing the textual form of a date-time field.

    Specification for implementors

    This interface is a service provider that can be called by multiple threads. Implementations must be thread-safe. Implementations should cache the textual information.

    This class has been made pubilc primarily for the benefit of Android.

    • Constructor Detail

      • DateTimeTextProvider

        public DateTimeTextProvider()
    • Method Detail

      • setInitializer

        public static void setInitializer​(DateTimeTextProvider provider)
        Sets the provider to use.

        This can only be invoked before DateTimeTextProvider class is used for formatting/parsing. Invoking this method at a later point will throw an exception.

        Parameters:
        provider - the provider to use
        Throws:
        IllegalStateException - if initialization has already occurred or another provider has been set
      • getText

        public abstract String getText​(TemporalField field,
                                       long value,
                                       TextStyle style,
                                       Locale locale)
        Gets the text for the specified field, locale and style for the purpose of printing.

        The text associated with the value is returned. The null return value should be used if there is no applicable text, or if the text would be a numeric representation of the value.

        Parameters:
        field - the field to get text for, not null
        value - the field value to get text for, not null
        style - the style to get text for, not null
        locale - the locale to get text for, not null
        Returns:
        the text for the field value, null if no text found
      • getTextIterator

        public abstract Iterator<Map.Entry<String,​Long>> getTextIterator​(TemporalField field,
                                                                               TextStyle style,
                                                                               Locale locale)
        Gets an iterator of text to field for the specified field, locale and style for the purpose of parsing.

        The iterator must be returned in order from the longest text to the shortest.

        The null return value should be used if there is no applicable parsable text, or if the text would be a numeric representation of the value. Text can only be parsed if all the values for that field-style-locale combination are unique.

        Parameters:
        field - the field to get text for, not null
        style - the style to get text for, null for all parsable text
        locale - the locale to get text for, not null
        Returns:
        the iterator of text to field pairs, in order from longest text to shortest text, null if the field or style is not parsable