Class PeriodFormatterData

java.lang.Object
com.ibm.icu.impl.duration.impl.PeriodFormatterData

public class PeriodFormatterData extends 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 Details

  • Constructor Details

    • PeriodFormatterData

      public PeriodFormatterData(String localeName, DataRecord dr)
  • Method Details

    • 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, 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 limit
      td - how and whether to display the time direction
      sb - 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, 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 limit
      td - how and whether to display the time direction
      sb - 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, StringBuffer sb)
      Append the count and unit to the string builder.
      Parameters:
      unit - the unit to append
      count - the count of units, * 1000
      cv - the format to use for displaying the count
      uv - the format to use for displaying the unit
      useCountSep - if false, force no separator between count and unit
      useDigitPrefix - if true, use the digit prefix
      multiple - true if there are multiple units in this string
      last - true if this is the last unit
      wasSkipped - true if the unit(s) before this were skipped
      sb - 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, String name, boolean last, StringBuffer sb)
      Append a count to the string builder.
      Parameters:
      unit - the unit
      count - the count
      cv - the format to use for displaying the count
      useSep - whether to use the count separator, if available
      name - the term name
      last - true if this is the last unit to be formatted
      sb - 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, StringBuffer sb)
      Append a count value to the builder.
      Parameters:
      count - the count
      integralDigits - the number of integer digits to display
      decimalDigits - the number of decimal digits to display, <= 3
      sb - the string builder to which to append the text
    • appendInteger

      public void appendInteger(int num, int mindigits, int maxdigits, StringBuffer sb)
    • appendDigits

      public void appendDigits(long num, int mindigits, int maxdigits, StringBuffer sb)
      Append digits to the string builder, using this.zero for '0' etc.
      Parameters:
      num - the integer to append
      mindigits - the minimum number of digits to append
      maxdigits - the maximum number of digits to append
      sb - the string builder to which to append the text
    • appendSkippedUnit

      public void appendSkippedUnit(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, StringBuffer sb)
      Append the appropriate separator between units
      Parameters:
      unit - the unit to which to append the separator
      afterFirst - true if this is the first unit formatted
      beforeLast - true if this is the next-to-last unit to be formatted
      sb - 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)