Class BasicPeriodBuilderFactory

  • All Implemented Interfaces:
    PeriodBuilderFactory

    class BasicPeriodBuilderFactory
    extends java.lang.Object
    implements PeriodBuilderFactory
    Default implementation of PeriodBuilderFactory. This creates builders that use approximate durations.
    • Method Detail

      • approximateDurationOf

        static long approximateDurationOf​(TimeUnit unit)
      • 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
      • setLocale

        public PeriodBuilderFactory setLocale​(java.lang.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​(java.util.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
      • 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