Class BasicPeriodBuilderFactory

java.lang.Object
com.ibm.icu.impl.duration.BasicPeriodBuilderFactory
All Implemented Interfaces:
PeriodBuilderFactory

class BasicPeriodBuilderFactory extends Object implements PeriodBuilderFactory
Default implementation of PeriodBuilderFactory. This creates builders that use approximate durations.
  • Field Details

  • Constructor Details

  • Method Details

    • approximateDurationOf

      static long approximateDurationOf(TimeUnit unit)
    • setAvailableUnitRange

      public PeriodBuilderFactory setAvailableUnitRange(TimeUnit minUnit, TimeUnit maxUnit)
      Description copied from interface: PeriodBuilderFactory
      Sets the time units available for use. Default is all units.
      Specified by:
      setAvailableUnitRange in interface PeriodBuilderFactory
      Parameters:
      minUnit - the smallest time unit available for use
      maxUnit - the largest time unit available for use
      Returns:
      this factory
    • setUnitIsAvailable

      public PeriodBuilderFactory setUnitIsAvailable(TimeUnit unit, boolean available)
      Description copied from interface: PeriodBuilderFactory
      Sets whether the time unit is available for use.
      Specified by:
      setUnitIsAvailable in interface PeriodBuilderFactory
      Parameters:
      unit - the time unit
      available - true if the unit is available for use
      Returns:
      this factory
    • setMaxLimit

      public PeriodBuilderFactory setMaxLimit(float maxLimit)
      Description copied from interface: PeriodBuilderFactory
      Sets the maximum value for the largest available time unit (as set in setUnits). Periods that represent a longer duration than this will be pinned to this value of that time unit and return true for 'isMoreThan'. Default is no limit. Setting a value of zero restores the default.
      Specified by:
      setMaxLimit in interface PeriodBuilderFactory
    • setMinLimit

      public PeriodBuilderFactory setMinLimit(float minLimit)
      Description copied from interface: PeriodBuilderFactory
      Sets the minimum value for the smallest available time unit (as set in setUnits). Periods that represent a shorter duration than this will be pinned to this value of that time unit and return true for 'isLessThan'. Default is no limit. Setting a value of zero restores the default.
      Specified by:
      setMinLimit in interface PeriodBuilderFactory
    • setAllowZero

      public PeriodBuilderFactory setAllowZero(boolean allow)
      Description copied from interface: PeriodBuilderFactory
      Sets whether units with a value of zero are represented in a period when 'gaps' appear between time units, e.g. '2 hours, 0 minutes, and 33 seconds'. Default is to not represent these explicitly ('2 hours and 33 seconds').
      Specified by:
      setAllowZero in interface PeriodBuilderFactory
    • setWeeksAloneOnly

      public PeriodBuilderFactory setWeeksAloneOnly(boolean aloneOnly)
      Description copied from interface: PeriodBuilderFactory
      Sets whether weeks are used with other units, or only when weeks are the only unit. For example '3 weeks and 2 days' versus '23 days'. Default is to use them alone only.
      Specified by:
      setWeeksAloneOnly in interface PeriodBuilderFactory
    • setAllowMilliseconds

      public PeriodBuilderFactory setAllowMilliseconds(boolean allow)
      Description copied from interface: PeriodBuilderFactory
      Sets whether milliseconds are allowed. This is only examined when milliseconds are an available field. The default is to allow milliseconds to display normally.

      This is intended to be used to set locale-specific behavior. Typically clients will not call this API and instead call PeriodBuilderFactory.setLocale(java.lang.String).

      Specified by:
      setAllowMilliseconds in interface PeriodBuilderFactory
      Parameters:
      allow - whether milliseconds should be allowed.
      Returns:
      a builder
    • setLocale

      public PeriodBuilderFactory setLocale(String localeName)
      Description copied from interface: PeriodBuilderFactory
      Sets the locale for the factory. Setting the locale can adjust the values for some or all of the other properties to reflect language or cultural conventions. Default is to use the default locale.
      Specified by:
      setLocale in interface PeriodBuilderFactory
    • setTimeZone

      public PeriodBuilderFactory setTimeZone(TimeZone timeZone)
      Description copied from interface: PeriodBuilderFactory
      Sets the time zone for the factory. This can affect the timezone used for date computations.
      Specified by:
      setTimeZone in interface PeriodBuilderFactory
      Parameters:
      timeZone - the timeZone
      Returns:
      a builder
    • getSettings

      private BasicPeriodBuilderFactory.Settings getSettings()
    • getFixedUnitBuilder

      public PeriodBuilder getFixedUnitBuilder(TimeUnit unit)
      Return a builder that represents relative time in terms of the single given TimeUnit
      Specified by:
      getFixedUnitBuilder in interface PeriodBuilderFactory
      Parameters:
      unit - the single TimeUnit with which to represent times
      Returns:
      a builder
    • getSingleUnitBuilder

      public PeriodBuilder getSingleUnitBuilder()
      Return a builder that represents relative time in terms of the largest period less than or equal to the duration.
      Specified by:
      getSingleUnitBuilder in interface PeriodBuilderFactory
      Returns:
      a builder
    • getOneOrTwoUnitBuilder

      public PeriodBuilder getOneOrTwoUnitBuilder()
      Return a builder that formats the largest one or two periods, Starting with the largest period less than or equal to the duration. It formats two periods if the first period has a count < 2 and the next period has a count >= 1.
      Specified by:
      getOneOrTwoUnitBuilder in interface PeriodBuilderFactory
      Returns:
      a builder
    • getMultiUnitBuilder

      public PeriodBuilder getMultiUnitBuilder(int periodCount)
      Return a builder that formats the given number of periods, starting with the largest period less than or equal to the duration.
      Specified by:
      getMultiUnitBuilder in interface PeriodBuilderFactory
      Returns:
      a builder