public Map<String, DatePickerDayConfig> getDayConfigMap( LocalDate firstDay, LocalDate lastDay, List<CalendarConfig> calendarConfigs) { Map<String, DatePickerDayConfig> dayConfigs = new HashMap<>(); for (LocalDate date = firstDay; date.isBefore(lastDay); date = date.plusDays(1)) { DatePickerDayConfig dayConfig = new DatePickerDayConfig(); dayConfig.setSelectable(Boolean.FALSE); for (CalendarConfig calendarConfig : calendarConfigs) { for (CalendarWeekDay weekDay : calendarConfig.getCalendarWeekDays()) { if (weekDay.ordinal() + 1 == date.getDayOfWeek()) { if (!isHoliday(date, calendarConfig)) { if (calendarConfig.getStartDate().compareTo(date) <= 0 && calendarConfig.getEndDate().compareTo(date) >= 0) { dayConfig.setSelectable(Boolean.TRUE); } } } } } dayConfigs.put(date.toString(), dayConfig); } return dayConfigs; }