Interface ReminderStorageProvider
-
- All Known Implementing Classes:
AbstractReminderStorageProvider
,ReminderStorageProviderWallet
public interface ReminderStorageProvider
Interface fuer einen Storage-Provider von Remindern.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.String
add(Reminder reminder)
Fuegt einen neuen Reminder hinzu.Reminder
delete(java.lang.String uuid)
Loescht einen Reminder.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.Reminder
get(java.lang.String uuid)
Liefert den Reminder zur angegebenen UUID.java.lang.String[]
getUUIDs()
Liefert eine Lister der UUIDs aller Reminder in dem Storage-Provider.void
update(java.lang.String uuid, Reminder reminder)
Aktualisiert einen vorhandenen Reminder.
-
-
-
Method Detail
-
get
Reminder get(java.lang.String uuid) throws java.lang.Exception
Liefert den Reminder zur angegebenen UUID.- Parameters:
uuid
- die UUID des Reminders.- Returns:
- der Reminder oder NULL, wenn er nicht existiert.
- Throws:
java.lang.Exception
-
update
void update(java.lang.String uuid, Reminder reminder) throws java.lang.Exception
Aktualisiert einen vorhandenen Reminder.- Parameters:
uuid
- die UUID des Reminders.reminder
- der Reminder.- Throws:
java.lang.Exception
-
add
java.lang.String add(Reminder reminder) throws java.lang.Exception
Fuegt einen neuen Reminder hinzu.- Parameters:
reminder
- der zu speichernde Reminder.- Returns:
- die vergebene UUID fuer den Reminder.
- Throws:
java.lang.Exception
-
delete
Reminder delete(java.lang.String uuid) throws java.lang.Exception
Loescht einen Reminder.- Parameters:
uuid
- die UUID des Reminders.- Returns:
- der geloeschte Reminder oder NULL, wenn er nicht gefunden wurde.
- Throws:
java.lang.Exception
-
find
java.util.Map<java.lang.String,Reminder> find(java.lang.String queue, java.util.Date from, java.util.Date to) throws java.lang.Exception
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.
- 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
-
getUUIDs
java.lang.String[] getUUIDs() throws java.lang.Exception
Liefert eine Lister der UUIDs aller Reminder in dem Storage-Provider.- Returns:
- Liste der UUIDs aller Reminder in dem Storage-Provider
- Throws:
java.lang.Exception
-
-