public class VAlarm extends CalendarComponent
4.6.6 Alarm Component Component Name: VALARM Purpose: Provide a grouping of component properties that define an alarm. Formal Definition: A "VALARM" calendar component is defined by the following notation: alarmc = "BEGIN" ":" "VALARM" CRLF (audioprop / dispprop / emailprop / procprop) "END" ":" "VALARM" CRLF audioprop = 2*( ; 'action' and 'trigger' are both REQUIRED, ; but MUST NOT occur more than once action / trigger / ; 'duration' and 'repeat' are both optional, ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat / ; the following is optional, ; but MUST NOT occur more than once attach / ; the following is optional, ; and MAY occur more than once x-prop ) dispprop = 3*( ; the following are all REQUIRED, ; but MUST NOT occur more than once action / description / trigger / ; 'duration' and 'repeat' are both optional, ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat / ; the following is optional, ; and MAY occur more than once *x-prop ) emailprop = 5*( ; the following are all REQUIRED, ; but MUST NOT occur more than once action / description / trigger / summary ; the following is REQUIRED, ; and MAY occur more than once attendee / ; 'duration' and 'repeat' are both optional, ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat / ; the following are optional, ; and MAY occur more than once attach / x-prop ) procprop = 3*( ; the following are all REQUIRED, ; but MUST NOT occur more than once action / attach / trigger / ; 'duration' and 'repeat' are both optional, ; and MUST NOT occur more than once each, ; but if one occurs, so MUST the other duration / repeat / ; 'description' is optional, ; and MUST NOT occur more than once description / ; the following is optional, ; and MAY occur more than once x-prop )Example 1 - Creating an alarm to trigger at a specific time:
java.util.Calendar cal = java.util.Calendar.getInstance();
cal.set(java.util.Calendar.MONTH, java.util.Calendar.DECEMBER);
cal.set(java.util.Calendar.DAY_OF_MONTH, 25);
VAlarm christmas = new VAlarm(cal.getTime());
Example 2 - Creating an alarm to trigger one (1) hour before the scheduled start of the parent event/the parent todo
is due:
VAlarm reminder = new VAlarm(new Dur(0, -1, 0, 0));
// repeat reminder four (4) more times every fifteen (15) minutes..
reminder.getProperties().add(new Repeat(4));
reminder.getProperties().add(new Duration(new Dur(0, 0, 15, 0)));
// display a message..
reminder.getProperties().add(Action.DISPLAY);
reminder.getProperties().add(new Description("Progress Meeting at 9:30am"));
Modifier and Type | Class and Description |
---|---|
static class |
VAlarm.Factory |
EMPTY_VALIDATOR
Constructor and Description |
---|
VAlarm()
Default constructor.
|
VAlarm(DateTime trigger)
Constructs a new VALARM instance that will trigger at the specified time.
|
VAlarm(PropertyList properties)
Constructor.
|
VAlarm(java.time.temporal.TemporalAmount trigger)
Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
|
Modifier and Type | Method and Description |
---|---|
Action |
getAction()
Returns the mandatory action property.
|
Attach |
getAttachment()
Returns the optional attachment property.
|
Description |
getDescription()
Returns the optional description property.
|
Duration |
getDuration()
Returns the optional duration property.
|
Repeat |
getRepeat()
Returns the optional repeat property.
|
Summary |
getSummary()
Returns the optional summary property.
|
Trigger |
getTrigger()
Returns the mandatory trigger property.
|
protected Validator |
getValidator(Method method) |
void |
validate(boolean recurse)
Perform validation on a component.
|
validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, getRequiredProperty, hashCode, toString, validate, validateProperties
public VAlarm()
public VAlarm(PropertyList properties)
properties
- a list of propertiespublic VAlarm(DateTime trigger)
trigger
- the time the alarm will triggerpublic VAlarm(java.time.temporal.TemporalAmount trigger)
trigger
- a duration of time relative to the parent component that the alarm will trigger atpublic final void validate(boolean recurse) throws ValidationException
validate
in class Component
recurse
- indicates whether to validate the component's propertiesValidationException
- where the component is not in a valid stateprotected Validator getValidator(Method method)
getValidator
in class CalendarComponent
method
- a method to validate onpublic final Action getAction()
public final Trigger getTrigger()
public final Duration getDuration()
public final Repeat getRepeat()
public final Attach getAttachment()
public final Description getDescription()
public final Summary getSummary()