Package javax.time.calendar
Class DateTimeFieldRule.TextStore
- java.lang.Object
-
- javax.time.calendar.DateTimeFieldRule.TextStore
-
- Enclosing class:
- DateTimeFieldRule<T>
public static final class DateTimeFieldRule.TextStore extends Object
The mapping between integer values and textual representations.Some fields have a textual representation, such as day-of-week or month-of-year. These textual representations can be captured in this class for printing and parsing.
TextStore is immutable and thread-safe.
- Author:
- Stephen Colebourne
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Locale
getLocale()
Gets the locale that the text relates to.Map<String,Integer>
getTextValueMap()
Gets the derived map expressing the value for each text.String
getValueText(int value)
Gets the text for the specified integer value.Map<Integer,String>
getValueTextMap()
Gets the map of text for each integer value.long
matchText(boolean ignoreCase, String parseText)
Matches the specified text against the text-value map returning the matched length and value.
-
-
-
Method Detail
-
getLocale
public Locale getLocale()
Gets the locale that the text relates to.- Returns:
- the locale for the text, never null
-
getValueTextMap
public Map<Integer,String> getValueTextMap()
Gets the map of text for each integer value.- Returns:
- the unmodifiable map of value to text, never null
-
getValueText
public String getValueText(int value)
Gets the text for the specified integer value.The text associated with the value is returned, or null if none found.
- Parameters:
value
- the value to get text for- Returns:
- the text for the field value, null if no text found
-
getTextValueMap
public Map<String,Integer> getTextValueMap()
Gets the derived map expressing the value for each text.If the value-text map contains duplicate text elements then this map will be empty.
- Returns:
- the unmodifiable map of text to value for the field rule and style, never null
-
matchText
public long matchText(boolean ignoreCase, String parseText)
Matches the specified text against the text-value map returning the matched length and value.This method is intended for use during parsing, and matches the search text against the text-value map, optionally ignoring case.
- Parameters:
ignoreCase
- true to ignore case during the matchingparseText
- the text to match against- Returns:
- a long packed result of two int values (for performance in parsing).
The value is
(parseLength << 32 + matchedValue)
. Zero is returned if there is no match. Minus one is returned if the text store cannot parse. The parse length can be obtained via (result >>> 32). The value can be obtained via ((int) result).
-
-