net.fortuna.ical4j.model.component
Class VAlarm

java.lang.Object
  extended bynet.fortuna.ical4j.model.Component
      extended bynet.fortuna.ical4j.model.component.CalendarComponent
          extended bynet.fortuna.ical4j.model.component.VAlarm
All Implemented Interfaces:
Serializable

public class VAlarm
extends CalendarComponent

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(-1000 * 60 * 60);
 
 // repeat reminder four (4) more times every fifteen (15) minutes..
 reminder.getProperties().add(new Repeat(4));
 reminder.getProperties().add(new Duration(1000 * 60 * 15));
 
 // display a message..
 reminder.getProperties().add(new Action(Action.DISPLAY));
 reminder.getProperties().add(new Description("Progress Meeting at 9:30am"));
 

Author:
Ben Fortuna
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.fortuna.ical4j.model.Component
BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO
 
Constructor Summary
VAlarm()
          Default constructor.
VAlarm(DateTime trigger)
          Constructs a new VALARM instance that will trigger at the specified time.
VAlarm(Dur trigger)
          Constructs a new VALARM instance that will trigger at the specified time relative to the event/todo component.
VAlarm(PropertyList properties)
          Constructor.
 
Method Summary
 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.
 void validate(boolean recurse)
          Perform validation on a component.
 
Methods inherited from class net.fortuna.ical4j.model.Component
equals, getName, getProperties, getProperties, getProperty, hashCode, toString, validate, validateProperties
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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(Dur 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 Detail

validate

public final void validate(boolean recurse)
                    throws ValidationException
Description copied from class: Component
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

getAction

public final Action getAction()
Returns the mandatory action property.

Returns:

getTrigger

public final Trigger getTrigger()
Returns the mandatory trigger property.

Returns:

getDuration

public final Duration getDuration()
Returns the optional duration property.

Returns:

getRepeat

public final Repeat getRepeat()
Returns the optional repeat property.

Returns:

getAttachment

public final Attach getAttachment()
Returns the optional attachment property.

Returns:

getDescription

public final Description getDescription()
Returns the optional description property.

Returns:

getSummary

public final Summary getSummary()
Returns the optional summary property.

Returns: