package de.saring.util.gui.javafx.control.calendar;
import java.time.LocalDate;
import java.util.List;
/**
* Interface which defines the provider of the data to be shown in the calendar.
*
* @author Stefan Saring
*/
public interface CalendarDataProvider {
/**
* Returns the calendar entries to be shown for the specified date.
*
* @param date date
* @return list of CalendarEntry objects (not null, can be empty)
*/
List<CalendarEntry> getCalendarEntriesForDate(LocalDate date);
/**
* Returns the summary text to be displayed for the specified date range (week) in
* the calendar summary cells. The returned list contains one string per summary line
* or is empty when there are no entries in the specified date range.
*
*
* @param dateStart start of date range
* @param dateEnd end of date range
* @return list of strings per summary line (not null, can be empty)
*/
List<String> getSummaryForDateRange(LocalDate dateStart, LocalDate dateEnd);
}