Package com.ibm.icu.impl.duration.impl
Class PeriodFormatterData
- java.lang.Object
-
- com.ibm.icu.impl.duration.impl.PeriodFormatterData
-
public class PeriodFormatterData extends java.lang.Object
PeriodFormatterData provides locale-specific data used to format relative dates and times, and convenience api to access it. An instance of PeriodFormatterData is usually created by requesting data for a given locale from an PeriodFormatterDataService.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DataRecord
dr
private static int
FORM_DUAL
private static int
FORM_HALF_SPELLED
private static int
FORM_PAUCAL
private static int
FORM_PLURAL
private static int
FORM_SINGULAR
private static int
FORM_SINGULAR_NO_OMIT
private static int
FORM_SINGULAR_SPELLED
(package private) java.lang.String
localeName
static boolean
trace
-
Constructor Summary
Constructors Constructor Description PeriodFormatterData(java.lang.String localeName, DataRecord dr)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowZero()
Return true if zeros are allowed in the display.int
appendCount(TimeUnit unit, boolean omitCount, boolean useDigitPrefix, int count, int cv, boolean useSep, java.lang.String name, boolean last, java.lang.StringBuffer sb)
Append a count to the string builder.void
appendCountValue(int count, int integralDigits, int decimalDigits, java.lang.StringBuffer sb)
Append a count value to the builder.void
appendDigits(long num, int mindigits, int maxdigits, java.lang.StringBuffer sb)
Append digits to the string builder, using this.zero for '0' etc.void
appendInteger(int num, int mindigits, int maxdigits, java.lang.StringBuffer sb)
boolean
appendPrefix(int tl, int td, java.lang.StringBuffer sb)
Append the appropriate prefix to the string builder, depending on whether and how a limit and direction are to be displayed.void
appendSkippedUnit(java.lang.StringBuffer sb)
Append a marker for skipped units internal to a string.void
appendSuffix(int tl, int td, java.lang.StringBuffer sb)
Append the appropriate suffix to the string builder, depending on whether and how a limit and direction are to be displayed.boolean
appendUnit(TimeUnit unit, int count, int cv, int uv, boolean useCountSep, boolean useDigitPrefix, boolean multiple, boolean last, boolean wasSkipped, java.lang.StringBuffer sb)
Append the count and unit to the string builder.boolean
appendUnitSeparator(TimeUnit unit, boolean longSep, boolean afterFirst, boolean beforeLast, java.lang.StringBuffer sb)
Append the appropriate separator between unitsprivate int
computeForm(TimeUnit unit, int count, int cv, boolean lastOfMultiple)
int
pluralization()
Return the pluralization format used by this locale.int
useMilliseconds()
boolean
weeksAloneOnly()
-
-
-
Field Detail
-
dr
final DataRecord dr
-
localeName
java.lang.String localeName
-
trace
public static boolean trace
-
FORM_PLURAL
private static final int FORM_PLURAL
- See Also:
- Constant Field Values
-
FORM_SINGULAR
private static final int FORM_SINGULAR
- See Also:
- Constant Field Values
-
FORM_DUAL
private static final int FORM_DUAL
- See Also:
- Constant Field Values
-
FORM_PAUCAL
private static final int FORM_PAUCAL
- See Also:
- Constant Field Values
-
FORM_SINGULAR_SPELLED
private static final int FORM_SINGULAR_SPELLED
- See Also:
- Constant Field Values
-
FORM_SINGULAR_NO_OMIT
private static final int FORM_SINGULAR_NO_OMIT
- See Also:
- Constant Field Values
-
FORM_HALF_SPELLED
private static final int FORM_HALF_SPELLED
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PeriodFormatterData
public PeriodFormatterData(java.lang.String localeName, DataRecord dr)
-
-
Method Detail
-
pluralization
public int pluralization()
Return the pluralization format used by this locale.- Returns:
- the pluralization format
-
allowZero
public boolean allowZero()
Return true if zeros are allowed in the display.- Returns:
- true if zeros should be allowed
-
weeksAloneOnly
public boolean weeksAloneOnly()
-
useMilliseconds
public int useMilliseconds()
-
appendPrefix
public boolean appendPrefix(int tl, int td, java.lang.StringBuffer sb)
Append the appropriate prefix to the string builder, depending on whether and how a limit and direction are to be displayed.- Parameters:
tl
- how and whether to display the time limittd
- how and whether to display the time directionsb
- the string builder to which to append the text- Returns:
- true if a following digit will require a digit prefix
-
appendSuffix
public void appendSuffix(int tl, int td, java.lang.StringBuffer sb)
Append the appropriate suffix to the string builder, depending on whether and how a limit and direction are to be displayed.- Parameters:
tl
- how and whether to display the time limittd
- how and whether to display the time directionsb
- the string builder to which to append the text
-
appendUnit
public boolean appendUnit(TimeUnit unit, int count, int cv, int uv, boolean useCountSep, boolean useDigitPrefix, boolean multiple, boolean last, boolean wasSkipped, java.lang.StringBuffer sb)
Append the count and unit to the string builder.- Parameters:
unit
- the unit to appendcount
- the count of units, * 1000cv
- the format to use for displaying the countuv
- the format to use for displaying the unituseCountSep
- if false, force no separator between count and unituseDigitPrefix
- if true, use the digit prefixmultiple
- true if there are multiple units in this stringlast
- true if this is the last unitwasSkipped
- true if the unit(s) before this were skippedsb
- the string builder to which to append the text- Returns:
- true if will require skip marker
-
appendCount
public int appendCount(TimeUnit unit, boolean omitCount, boolean useDigitPrefix, int count, int cv, boolean useSep, java.lang.String name, boolean last, java.lang.StringBuffer sb)
Append a count to the string builder.- Parameters:
unit
- the unitcount
- the countcv
- the format to use for displaying the countuseSep
- whether to use the count separator, if availablename
- the term namelast
- true if this is the last unit to be formattedsb
- the string builder to which to append the text- Returns:
- index to use if might have required or optional suffix, or -1 if none required
-
appendCountValue
public void appendCountValue(int count, int integralDigits, int decimalDigits, java.lang.StringBuffer sb)
Append a count value to the builder.- Parameters:
count
- the countintegralDigits
- the number of integer digits to displaydecimalDigits
- the number of decimal digits to display, <= 3sb
- the string builder to which to append the text
-
appendInteger
public void appendInteger(int num, int mindigits, int maxdigits, java.lang.StringBuffer sb)
-
appendDigits
public void appendDigits(long num, int mindigits, int maxdigits, java.lang.StringBuffer sb)
Append digits to the string builder, using this.zero for '0' etc.- Parameters:
num
- the integer to appendmindigits
- the minimum number of digits to appendmaxdigits
- the maximum number of digits to appendsb
- the string builder to which to append the text
-
appendSkippedUnit
public void appendSkippedUnit(java.lang.StringBuffer sb)
Append a marker for skipped units internal to a string.- Parameters:
sb
- the string builder to which to append the text
-
appendUnitSeparator
public boolean appendUnitSeparator(TimeUnit unit, boolean longSep, boolean afterFirst, boolean beforeLast, java.lang.StringBuffer sb)
Append the appropriate separator between units- Parameters:
unit
- the unit to which to append the separatorafterFirst
- true if this is the first unit formattedbeforeLast
- true if this is the next-to-last unit to be formattedsb
- the string builder to which to append the text- Returns:
- true if a prefix will be required before a following unit
-
computeForm
private int computeForm(TimeUnit unit, int count, int cv, boolean lastOfMultiple)
-
-