Class AbstractReminderStorageProvider
- java.lang.Object
-
- de.willuhn.jameica.reminder.AbstractReminderStorageProvider
-
- All Implemented Interfaces:
ReminderStorageProvider
- Direct Known Subclasses:
ReminderStorageProviderWallet
public abstract class AbstractReminderStorageProvider extends java.lang.Object implements ReminderStorageProvider
Abstrakte Basis-Implementierung fuer einen Storage-Provider.
-
-
Constructor Summary
Constructors Constructor Description AbstractReminderStorageProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
createUUID()
Erzeugt eine neue UUID.java.util.Map<java.lang.String,Reminder>
find(java.lang.String queue, java.util.Date from, java.util.Date to)
Liefert eine Liste aller Reminder im angegebenen Zeitraum.
-
-
-
Method Detail
-
createUUID
protected java.lang.String createUUID()
Erzeugt eine neue UUID.- Returns:
- die neue UUID.
-
find
public java.util.Map<java.lang.String,Reminder> find(java.lang.String queue, java.util.Date from, java.util.Date to) throws java.lang.Exception
Description copied from interface:ReminderStorageProvider
Liefert eine Liste aller Reminder im angegebenen Zeitraum.Die Funktion findet auch wiederkehrende Reminder, insofern mindestens eine geplante Ausfuehrung im angegebenen Zeitraum liegt. Befinden sich in dem Zeitraum mehrere Termine fuer den Reminder, dann ist er in der Map dennoch nur einmal enthalten, da alle weiteren Termine dieses Reminders ja die selbe UUID haben und in der Map nur einmal auftreten koennen (weil Key=UUID). Es ist also Sache des Aufrufers, zu pruefen, ob unter den zurueckgelieferten Termine welche mit Wiederholungen enthalten sind und diese eventuell ebenfalls noch im Zeitfenster liegen. Das kann beispielsweise wie folgt geschehen:
ReminderInterval ri = reminder.getReminderInterval(); if (ri != null) { List<Date> termine = ri.getDates(reminder.getDate(),from,to); }
Wiederkehrende Reminder mit Ende-Datum werden hier noch nicht beruecksichtigt. Sie werden also mit zurueckgeliefert, als wenn sie kein Ende-Datum haetten. Es ist dann Aufgabe des Aufrufers, diese rauszufischen, wenn das Ende-Datum ueberschritten ist.
- Specified by:
find
in interfaceReminderStorageProvider
- Parameters:
queue
- Angabe der Queue, in dem sich die Reminder befinden muessen (optional). Ist keine Queue angegeben, werden die Reminder aller Queues geliefert.from
- Start-Datum des Zeitraumes (optional).to
- End-Datum des Zeitraumes (optional).- Returns:
- Map mit den Remindern. Key ist die UUID, Value der Reminder.
- Throws:
java.lang.Exception
- See Also:
ReminderStorageProvider.find(java.lang.String, java.util.Date, java.util.Date)
-
-