1 package org.columba.calendar.store.api;2 3 import java.util.Calendar ;4 import java.util.Iterator ;5 6 import org.columba.calendar.model.api.IComponentInfo;7 import org.columba.calendar.model.api.IComponentInfoList;8 import org.columba.calendar.model.api.IDateRange;9 10 /**11 * Calendar store.12 * 13 * @author fdietz14 */15 public interface ICalendarStore {16 17 IComponentInfo get(Object uid) throws StoreException;18 19 void add(IComponentInfo calendarModel) throws StoreException;20 21 void modify(Object uid, IComponentInfo calendarModel) throws StoreException;22 23 void remove(Object uid) throws StoreException;24 25 IComponentInfoList getComponentInfoList() throws StoreException;26 27 IComponentInfoList getComponentInfoList(String calendarId) throws StoreException;28 29 Iterator <String > getIdIterator() throws StoreException;30 31 Iterator <String > getIdIterator(String calendarId) throws StoreException;32 33 boolean exists(Object uid) throws StoreException;34 35 /**36 * Find all components including the specific <code>searchTerm</code> in the summary.37 * 38 * @param summary39 * @return iterator of all component IDs40 * @throws StoreException41 */42 Iterator <String > findBySummary(String searchTerm) throws StoreException;43 44 /**45 * Find all components starting at <code>startDate</code>.46 * 47 * @param startDate 48 * @return iterator of all component IDs49 * @throws StoreException50 */51 Iterator <String > findByStartDate(Calendar startDate) throws StoreException;52 53 /**54 * Find all components in the date range.55 * 56 * @param dateRange57 * @return iterator of all component IDs58 * @throws StoreException59 */60 Iterator <String > findByDateRange(IDateRange dateRange) throws StoreException;61 }62