org.freeplane.api

## Interface Reminder

- All Superinterfaces:
    ReminderRO
  All Known Subinterfaces:
    Proxy.Reminder

      public interface Reminder
      extends ReminderRO

  Reminder: `node.reminder` - read-write. For creating and modifying reminders:

        def reminder = node.reminder
        if (!reminder)
            c.statusInfo = "node has no reminder"
        else
            c.statusInfo = "node has a reminder: $reminder"

        def inAMinute = new Date(System.currentTimeMillis() + 60*1000)
        node.reminder.createOrReplace(inAMinute, "WEEK", 2)
        if (node.map.file) {
            node.reminder.setScript("loadUri(new URI('${node.map.file.toURI()}#${node.id}'))")
        }
        // a click on the node opens time management dialog
        node.link.text = 'menuitem:_$ReminderListAction$0'

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `createOrReplace(java.util.Date remindAt, java.lang.String periodUnit, java.lang.Integer period)` Creates a periodic reminder.
    `void` | `remove()` removes a reminder from a node.
    `void` | `setScript(java.lang.String scriptSource)` optional: a Groovy script to execute when the reminder fires.

    - ### Methods inherited from interface org.freeplane.api.ReminderRO

      `getPeriod, getPeriodUnit, getRemindAt, getScript`

- - ### Method Detail

    - #### createOrReplace

          void createOrReplace(java.util.Date remindAt,
                               java.lang.String periodUnit,
                               java.lang.Integer period)

      Creates a periodic reminder. To make the reminder fire every second week:

             node.reminder.createOrReplace(new Date() + 1, "WEEK", 2)

      Parameters:
        `remindAt` - The timestamp when the reminder fires first.
        `periodUnit` - one of ["MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR"].
        `period` - counts the periodUnits.

    - #### setScript

          void setScript(java.lang.String scriptSource)

      optional: a Groovy script to execute when the reminder fires.
      Parameters:
        `scriptSource` - the script itself, not a path to a file.
      Throws:
        `java.lang.NullPointerException` - if there is no reminder yet.

    - #### remove

          void remove()

      removes a reminder from a node. It's not an error if there is no reminder to remove.