de.focus_shift.jollyday.jackson.JacksonIslamicHoliday 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
package de.focus_shift.jollyday.jackson;
import de.focus_shift.jollyday.core.HolidayType;
import de.focus_shift.jollyday.core.spi.IslamicHoliday;
import de.focus_shift.jollyday.core.spi.IslamicHolidayType;
import de.focus_shift.jollyday.core.spi.MovingCondition;
import de.focus_shift.jollyday.core.spi.YearCycle;
import java.time.Year;
import java.util.List;
import static java.util.stream.Collectors.toList;
public class JacksonIslamicHoliday implements IslamicHoliday {
private final de.focus_shift.jollyday.jackson.mapping.IslamicHoliday islamicHoliday;
public JacksonIslamicHoliday(de.focus_shift.jollyday.jackson.mapping.IslamicHoliday christianHoliday) {
this.islamicHoliday = christianHoliday;
}
@Override
public IslamicHolidayType type() {
return IslamicHolidayType.valueOf(islamicHoliday.getType().name());
}
@Override
public String descriptionPropertiesKey() {
return islamicHoliday.getDescriptionPropertiesKey();
}
@Override
public HolidayType officiality() {
return islamicHoliday.getLocalizedType() == null
? HolidayType.OFFICIAL_HOLIDAY
: HolidayType.valueOf(islamicHoliday.getLocalizedType().name());
}
@Override
public Year validFrom() {
return islamicHoliday.getValidFrom() == null
? null
: Year.of(islamicHoliday.getValidFrom());
}
@Override
public Year validTo() {
return islamicHoliday.getValidTo() == null
? null
: Year.of(islamicHoliday.getValidTo());
}
@Override
public YearCycle cycle() {
return islamicHoliday.getEvery() == null
? YearCycle.EVERY_YEAR
: YearCycle.valueOf(islamicHoliday.getEvery().name());
}
@Override
public List conditions() {
return islamicHoliday.getMovingCondition().stream()
.map(JacksonMovingCondition::new)
.collect(toList());
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy