Class IcsReader
- java.lang.Object
-
- org.ametys.plugins.calendar.icsreader.IcsReader
-
- All Implemented Interfaces:
LogEnabled
,Initializable
,Component
,Serviceable
public class IcsReader extends Object implements Serviceable, Component, Initializable, LogEnabled
Read a distant ICS file for a certain number of events in the future
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IcsReader.IcsEvents
Object wrapper for ics events
-
Constructor Summary
Constructors Constructor Description IcsReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IcsReader.IcsEvents
_getEventList(String url, EventsFilterHelper.DateRange dateRange, Long nbEvents, Long maxFileSize)
Get a list of events from an ics file, without trying the cacheList<LocalVEvent>
getEventDates(VEvent event, EventsFilterHelper.DateRange dateRange, Tag tag)
Get a list ofLocalDate
covered by this eventIcsReader.IcsEvents
getEventList(String url, EventsFilterHelper.DateRange dateRange, Long nbEvents, Long maxFileSize)
Get a list of events from an ics filevoid
initialize()
void
service(ServiceManager smanager)
void
setLogger(org.slf4j.Logger logger)
Called at creation time to provide aLogger
.
-
-
-
Constructor Detail
-
IcsReader
public IcsReader()
-
-
Method Detail
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getEventList
public IcsReader.IcsEvents getEventList(String url, EventsFilterHelper.DateRange dateRange, Long nbEvents, Long maxFileSize)
Get a list of events from an ics file- Parameters:
url
- url of the ics filedateRange
- range of dates to fetchnbEvents
- number of events to readmaxFileSize
- max ics file size (in bytes)- Returns:
- a List of
VEvent
-
_getEventList
protected IcsReader.IcsEvents _getEventList(String url, EventsFilterHelper.DateRange dateRange, Long nbEvents, Long maxFileSize)
Get a list of events from an ics file, without trying the cache- Parameters:
url
- url of the ics filedateRange
- range of dates to fetchnbEvents
- number of events to readmaxFileSize
- max ics file size (in bytes)- Returns:
- a List of
VEvent
-
initialize
public void initialize() throws Exception
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
getEventDates
public List<LocalVEvent> getEventDates(VEvent event, EventsFilterHelper.DateRange dateRange, Tag tag)
Get a list ofLocalDate
covered by this event- Parameters:
event
- the event to testdateRange
- the dates to check, can be null but this will return nulltag
- the tag used for this ICS- Returns:
- a list of
LocalDate
for the days in which this event appears, or null if nothing matches
-
setLogger
public void setLogger(org.slf4j.Logger logger)
Description copied from interface:LogEnabled
Called at creation time to provide aLogger
.- Specified by:
setLogger
in interfaceLogEnabled
- Parameters:
logger
- aLogger
for messages.
-
-