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)
-
Nested Class Summary
Nested classes/interfaces inherited from class com.flexganttfx.model.dateline.Resolution
Resolution.Position
-
Constructor Summary
Constructors Constructor Description ChronoUnitResolution(ChronoUnit unit, String format, int stepRate)
Constructs a new resolution for the given unit, format, step rate, and positions.ChronoUnitResolution(ChronoUnit unit, String format, int stepRate, Resolution.Position... supportedPositions)
Constructs a new resolution for the given unit, format, step rate, and positions. -
Method Summary
Modifier and Type Method Description VirtualGrid<ChronoUnit>
createGrid()
Creates a virtual grid for editing operations based on the settings of this resolution.Instant
decrement(Instant instant, ZoneId zoneId)
Decrements the given time based on the temporal unit represented by this resolution.String
format(Instant instant, ZoneId zoneId)
Formats the given time / instant for the given time zone based on the settings of this resolution.Instant
increment(Instant instant, ZoneId zoneId)
Increments the given time based on the temporal unit represented by this resolution.boolean
isDSTEndIncrement()
Returns true if the last call toincrement(Instant, ZoneId)
was affected by a DST end.boolean
isDSTStartIncrement()
Returns true if the last call toincrement(Instant, ZoneId)
was affected by a DST start.Instant
truncate(Instant instant, ZoneId zoneId, DayOfWeek firstDayOfWeek)
Truncates the given time based on the temporal unit represented by this resolution.Methods inherited from class com.flexganttfx.model.dateline.Resolution
getFormat, getStepRate, getTemporalUnit, isSupportingPosition, toString
-
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 screenstepRate
- 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
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 screenstepRate
- the step rate (e.g. "1" Minute, "5" Minutes, "15" Minutes)- Since:
- 1.0
-
-
Method Details
-
format
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 classResolution<ChronoUnit>
- Parameters:
instant
- the time used for the formattingzoneId
- the time zone- Returns:
- the formatted time
-
truncate
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 classResolution<ChronoUnit>
- Parameters:
instant
- the time to truncatezoneId
- the time zonefirstDayOfWeek
- 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 toincrement(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 toincrement(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
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 classResolution<ChronoUnit>
- Parameters:
instant
- the time to incrementzoneId
- the time zone- Returns:
- the incremented time
-
decrement
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 classResolution<ChronoUnit>
- Parameters:
instant
- the time to incrementzoneId
- the time zone- Returns:
- the incremented time
-
createGrid
Description copied from class:Resolution
Creates a virtual grid for editing operations based on the settings of this resolution.- Specified by:
createGrid
in classResolution<ChronoUnit>
- Returns:
- the virtual grid
-