Package 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

Modifier and Type
Method
Description
`void`
`createOrReplace(Date remindAt, String periodUnit, Integer period)`
Creates a periodic reminder.
`void`
`remove()`
removes a reminder from a node.
`void`
`setScript(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 Details

### createOrReplace

void createOrReplace(Date remindAt, String periodUnit, 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(String scriptSource)
optional: a Groovy script to execute when the reminder fires.

Parameters:
  `scriptSource` - the script itself, not a path to a file.
Throws:
  `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.