001package net.objectlab.kit.datecalc.jdk8; 002 003import java.time.LocalDate; 004 005import net.objectlab.kit.datecalc.common.CurrencyDateCalculatorBuilder; 006import net.objectlab.kit.datecalc.common.ccy.AbstractCurrencyDateCalculator; 007 008/** 009 * JDK8 Date implementation for currency date calculator. 010 * @author Benoit Xhenseval 011 * @since 1.4.0 012 */ 013public class LocalDateCurrencyDateCalculator extends AbstractCurrencyDateCalculator<LocalDate> { 014 015 public LocalDateCurrencyDateCalculator(final CurrencyDateCalculatorBuilder<LocalDate> builder) { 016 super(builder); 017 } 018 019 @Override 020 protected LocalDate addMonths(LocalDate calc, int unit) { 021 return calc.plusMonths(unit); 022 } 023 024 @Override 025 protected LocalDate calculateNextDay(final LocalDate date) { 026 return date.plusDays(1); 027 } 028 029 @Override 030 protected int calendarWeekDay(final LocalDate date) { 031 return Jdk8WorkingWeek.jdk8ToCalendarDayConstant(date.getDayOfWeek()); 032 } 033 034 @Override 035 protected LocalDate max(final LocalDate d1, final LocalDate d2) { 036 return d1.isAfter(d2) ? d1 : d2; 037 } 038 039}