Class ChronoUnitResolution

java.lang.Object
com.flexganttfx.model.dateline.Resolution<ChronoUnit>
com.flexganttfx.model.dateline.ChronoUnitResolution

public final class ChronoUnitResolution
extends Resolution<ChronoUnit>
A resolution type for ChronoUnit that can be used in combination with the ChronoUnitDatelineModel.
Since:
1.0
See Also:
DatelineModel.addResolution(Resolution)
  • Constructor Details

    • 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 Details

    • 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 temporal 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
    • decrement

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

      public VirtualGrid<ChronoUnit> createGrid()
      Description copied from class: Resolution
      Creates a virtual grid for editing operations based on the settings of this resolution.
      Specified by:
      createGrid in class Resolution<ChronoUnit>
      Returns:
      the virtual grid