LocalTimeRandomField.java
package de.slothsoft.random.types;
import java.time.LocalTime;
import java.time.temporal.ChronoField;
import de.slothsoft.random.RandomField;
/**
* A {@link RandomField} representing a {@link LocalTime} between 0:00 and 24:00 o'clock.
*
* @author Stef Schulz
* @since 2.1.0
*/
public class LocalTimeRandomField extends AbstractChronoRandomField<LocalTime> {
@Override
LocalTime createDefaultStartValue() {
return LocalTime.MIN;
}
@Override
LocalTime createDefaultEndValue() {
return LocalTime.MAX;
}
@Override
long toLongValue(LocalTime value) {
return value.getLong(ChronoField.NANO_OF_DAY);
}
@Override
LocalTime fromLongValue(long date) {
return LocalTime.ofNanoOfDay(date);
}
@Override
public LocalTimeRandomField endValue(LocalTime newEndValue) {
return (LocalTimeRandomField) super.endValue(newEndValue);
}
@Override
public LocalTimeRandomField startValue(LocalTime newStartValue) {
return (LocalTimeRandomField) super.startValue(newStartValue);
}
}