de.focus_shift.jollyday.jackson.JacksonRelativeToWeekdayInMonth Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jollyday-jackson Show documentation
Show all versions of jollyday-jackson Show documentation
Jackson based jollyday implementation
The newest version!
package de.focus_shift.jollyday.jackson;
import de.focus_shift.jollyday.core.HolidayType;
import de.focus_shift.jollyday.core.spi.FixedWeekdayInMonth;
import de.focus_shift.jollyday.core.spi.Relation;
import de.focus_shift.jollyday.core.spi.RelativeToWeekdayInMonth;
import de.focus_shift.jollyday.core.spi.YearCycle;
import java.time.DayOfWeek;
import java.time.Year;
public class JacksonRelativeToWeekdayInMonth implements RelativeToWeekdayInMonth {
private final de.focus_shift.jollyday.jackson.mapping.RelativeToWeekdayInMonth relativeToWeekdayInMonth;
public JacksonRelativeToWeekdayInMonth(de.focus_shift.jollyday.jackson.mapping.RelativeToWeekdayInMonth relativeToWeekdayInMonth) {
this.relativeToWeekdayInMonth = relativeToWeekdayInMonth;
}
@Override
public FixedWeekdayInMonth weekdayInMonth() {
return new JacksonFixedWeekdayInMonth(relativeToWeekdayInMonth.getFixedWeekday());
}
@Override
public DayOfWeek weekday() {
return DayOfWeek.valueOf(relativeToWeekdayInMonth.getWeekday().name());
}
@Override
public Relation when() {
return Relation.valueOf(relativeToWeekdayInMonth.getWhen().name());
}
@Override
public String descriptionPropertiesKey() {
return relativeToWeekdayInMonth.getDescriptionPropertiesKey();
}
@Override
public HolidayType officiality() {
return relativeToWeekdayInMonth.getLocalizedType() == null
? HolidayType.PUBLIC_HOLIDAY
: HolidayType.valueOf(relativeToWeekdayInMonth.getLocalizedType().name());
}
@Override
public Year validFrom() {
return relativeToWeekdayInMonth.getValidFrom() == null
? null
: Year.of(relativeToWeekdayInMonth.getValidFrom());
}
@Override
public Year validTo() {
return relativeToWeekdayInMonth.getValidTo() == null
? null
: Year.of(relativeToWeekdayInMonth.getValidTo());
}
@Override
public YearCycle cycle() {
return relativeToWeekdayInMonth.getEvery() == null
? YearCycle.EVERY_YEAR
: YearCycle.valueOf(relativeToWeekdayInMonth.getEvery().name());
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy