Class VAlarm

All Implemented Interfaces:
Serializable, FluentComponent, PropertyContainer

public class VAlarm extends CalendarComponent
$Id$ [Apr 5, 2004] Defines an iCalendar VALARM component.
    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"));
 
See Also:
  • Constructor Details

    • VAlarm

      public VAlarm()
      Default constructor.
    • VAlarm

      public VAlarm(PropertyList properties)
      Constructor.
      Parameters:
      properties - a list of properties
    • VAlarm

      public VAlarm(DateTime trigger)
      Constructs a new VALARM instance that will trigger at the specified time.
      Parameters:
      trigger - the time the alarm will trigger
    • VAlarm

      public VAlarm(TemporalAmount trigger)
      Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
      Parameters:
      trigger - a duration of time relative to the parent component that the alarm will trigger at
  • Method Details

    • validate

      public ValidationResult validate(boolean recurse) throws ValidationException
      Perform validation on a component.
      Specified by:
      validate in class Component
      Parameters:
      recurse - indicates whether to validate the component's properties
      Throws:
      ValidationException - where the component is not in a valid state
    • getValidator

      protected Validator getValidator(Method method)
      Specified by:
      getValidator in class CalendarComponent
      Parameters:
      method - a method to validate on
      Returns:
      a validator for the specified method or null if the method is not supported
    • getAction

      public final Action getAction()
      Returns the mandatory action property.
      Returns:
      the ACTION property or null if not specified
    • getTrigger

      public final Trigger getTrigger()
      Returns the mandatory trigger property.
      Returns:
      the TRIGGER property or null if not specified
    • getDuration

      public final Duration getDuration()
      Returns the optional duration property.
      Returns:
      the DURATION property or null if not specified
    • getRepeat

      public final Repeat getRepeat()
      Returns the optional repeat property.
      Returns:
      the REPEAT property or null if not specified
    • getAttachment

      public final Attach getAttachment()
      Returns the optional attachment property.
      Returns:
      the ATTACH property or null if not specified
    • getDescription

      public final Description getDescription()
      Returns the optional description property.
      Returns:
      the DESCRIPTION property or null if not specified
    • getSummary

      public final Summary getSummary()
      Returns the optional summary property.
      Returns:
      the SUMMARY property or null if not specified