Class AbstractReminderStorageProvider

java.lang.Object
de.willuhn.jameica.reminder.AbstractReminderStorageProvider
All Implemented Interfaces:
ReminderStorageProvider
Direct Known Subclasses:
ReminderStorageProviderWallet

public abstract class AbstractReminderStorageProvider extends Object implements ReminderStorageProvider
Abstrakte Basis-Implementierung fuer einen Storage-Provider.
  • Constructor Details

    • AbstractReminderStorageProvider

      public AbstractReminderStorageProvider()
  • Method Details

    • createUUID

      protected String createUUID()
      Erzeugt eine neue UUID.
      Returns:
      die neue UUID.
    • find

      public Map<String,Reminder> find(String queue, Date from, Date to) throws 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 interface ReminderStorageProvider
      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:
      Exception
      See Also: