Class ChronoUnitResolution

    • Constructor Detail

      • ChronoUnitResolution

        public ChronoUnitResolution​(ChronoUnit unit,
                                    String format,
                                    int stepRate,
                                    Resolution.Position... supportedPositions)
        Constructs a new resolution for the given unit, format, step rate, and positions.
        Parameters:
        unit - the chrono unit supported by this resolution (e.g. DAY)
        format - the format how the unit will be shown on the screen
        stepRate - the step rate (e.g. "1" Minute, "5" Minutes, "15" Minutes)
        supportedPositions - the position inside the dateline where this resolution can be displayed (top, middle, bottom)
        Since:
        1.0
      • ChronoUnitResolution

        public ChronoUnitResolution​(ChronoUnit unit,
                                    String format,
                                    int stepRate)
        Constructs a new resolution for the given unit, format, step rate, and positions.
        Parameters:
        unit - the chrono unit supported by this resolution (e.g. DAY)
        format - the format how the unit will be shown on the screen
        stepRate - the step rate (e.g. "1" Minute, "5" Minutes, "15" Minutes)
        Since:
        1.0
    • Method Detail

      • format

        public String format​(Instant instant,
                             ZoneId zoneId)
        Description copied from class: Resolution
        Formats the given time / instant for the given time zone based on the settings of this resolution.
        Specified by:
        format in class Resolution<ChronoUnit>
        Parameters:
        instant - the time used for the formatting
        zoneId - the time zone
        Returns:
        the formatted time
      • truncate

        public Instant truncate​(Instant instant,
                                ZoneId zoneId,
                                DayOfWeek firstDayOfWeek)
        Description copied from class: Resolution
        Truncates the given time based on the temporal unit represented by this resolution. Example: a date located on a Wednesday will be adjusted to a date on the previous Monday (if Monday is the first day of the week in the given time zone).
        Specified by:
        truncate in class Resolution<ChronoUnit>
        Parameters:
        instant - the time to truncate
        zoneId - the time zone
        firstDayOfWeek - the weekday that is considered to be the first day of the week
        Returns:
        the truncated time
      • isDSTStartIncrement

        public boolean isDSTStartIncrement()
        Returns true if the last call to increment(Instant, ZoneId) was affected by a DST start. Example: if the resolution is "3 hours" and the current time is midnight, then the new local time might actually be 4am, instead of 3am. Because on DST start the clocks will be advanced by one hour.
        Returns:
        true if the resolution's increment method was affected by the start of DST
      • isDSTEndIncrement

        public boolean isDSTEndIncrement()
        Returns true if the last call to increment(Instant, ZoneId) was affected by a DST end. Example: if the resolution is "3 hours" and the current time is midnight, then the new local time might actually be 2am, instead of 3am. Because on DST end the clocks will be turned back by one hour.
        Returns:
        true if the resolution's increment method was affected by the end of DST
      • increment

        public Instant increment​(Instant instant,
                                 ZoneId zoneId)
        Description copied from class: Resolution
        Increments the given time based on the temoral unit represented by this resolution. Example: if the temporal unit is DAY and the given time is located on Monday, then the incremented time will be Tuesday. If the temporal unit is WEEK then the incremented time will be the Monday of the next week. This function is very important for building the cells in the dateline control.
        Specified by:
        increment in class Resolution<ChronoUnit>
        Parameters:
        instant - the time to increment
        zoneId - the time zone
        Returns:
        the incremented time