Package org.threeten.bp.format
Class SimpleDateTimeTextProvider
- java.lang.Object
-
- org.threeten.bp.format.DateTimeTextProvider
-
- org.threeten.bp.format.SimpleDateTimeTextProvider
-
final class SimpleDateTimeTextProvider extends DateTimeTextProvider
The Service Provider Implementation to obtain date-time text for a field.This implementation is based on extraction of data from a
DateFormatSymbols.Specification for implementors
This class is immutable and thread-safe.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classSimpleDateTimeTextProvider.LocaleStoreStores the text for a single locale.-
Nested classes/interfaces inherited from class org.threeten.bp.format.DateTimeTextProvider
DateTimeTextProvider.ProviderSingleton
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentMap<java.util.Map.Entry<TemporalField,java.util.Locale>,java.lang.Object>cacheCache.private static java.util.Comparator<java.util.Map.Entry<java.lang.String,java.lang.Long>>COMPARATORComparator.
-
Constructor Summary
Constructors Constructor Description SimpleDateTimeTextProvider()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static <A,B>
java.util.Map.Entry<A,B>createEntry(A text, B field)Helper method to create an immutable entry.private static SimpleDateTimeTextProvider.LocaleStorecreateLocaleStore(java.util.Map<TextStyle,java.util.Map<java.lang.Long,java.lang.String>> valueTextMap)private java.lang.ObjectcreateStore(TemporalField field, java.util.Locale locale)private java.lang.ObjectfindStore(TemporalField field, java.util.Locale locale)java.lang.StringgetText(TemporalField field, long value, TextStyle style, java.util.Locale locale)Gets the text for the specified field, locale and style for the purpose of printing.java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Long>>getTextIterator(TemporalField field, TextStyle style, java.util.Locale locale)Gets an iterator of text to field for the specified field, locale and style for the purpose of parsing.private java.lang.StringnarrowDayOfWeek(int dow, java.lang.String text, java.util.Locale locale)private java.lang.StringnarrowMonth(int month, java.lang.String text, java.util.Locale locale)-
Methods inherited from class org.threeten.bp.format.DateTimeTextProvider
getInstance, setInitializer
-
-
-
-
Field Detail
-
COMPARATOR
private static final java.util.Comparator<java.util.Map.Entry<java.lang.String,java.lang.Long>> COMPARATOR
Comparator.
-
cache
private final java.util.concurrent.ConcurrentMap<java.util.Map.Entry<TemporalField,java.util.Locale>,java.lang.Object> cache
Cache.
-
-
Method Detail
-
getText
public java.lang.String getText(TemporalField field, long value, TextStyle style, java.util.Locale locale)
Description copied from class:DateTimeTextProviderGets 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.
- Specified by:
getTextin classDateTimeTextProvider- Parameters:
field- the field to get text for, not nullvalue- the field value to get text for, not nullstyle- the style to get text for, not nulllocale- the locale to get text for, not null- Returns:
- the text for the field value, null if no text found
-
getTextIterator
public java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Long>> getTextIterator(TemporalField field, TextStyle style, java.util.Locale locale)
Description copied from class:DateTimeTextProviderGets 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.
- Specified by:
getTextIteratorin classDateTimeTextProvider- Parameters:
field- the field to get text for, not nullstyle- the style to get text for, null for all parsable textlocale- 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
-
findStore
private java.lang.Object findStore(TemporalField field, java.util.Locale locale)
-
createStore
private java.lang.Object createStore(TemporalField field, java.util.Locale locale)
-
narrowMonth
private java.lang.String narrowMonth(int month, java.lang.String text, java.util.Locale locale)
-
narrowDayOfWeek
private java.lang.String narrowDayOfWeek(int dow, java.lang.String text, java.util.Locale locale)
-
createEntry
private static <A,B> java.util.Map.Entry<A,B> createEntry(A text, B field)Helper method to create an immutable entry.- Parameters:
text- the text, not nullfield- the field, not null- Returns:
- the entry, not null
-
createLocaleStore
private static SimpleDateTimeTextProvider.LocaleStore createLocaleStore(java.util.Map<TextStyle,java.util.Map<java.lang.Long,java.lang.String>> valueTextMap)
-
-