net.fortuna.ical4j.model.component
Class VAlarm

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

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"));
 

Author:
Ben Fortuna
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent
EMPTY_VALIDATOR
 
Fields inherited from class net.fortuna.ical4j.model.Component
AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE
 
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.
protected  Validator getValidator(Method method)
          
 void validate(boolean recurse)
          Perform validation on a component.
 
Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent
validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest
 
Methods inherited from class net.fortuna.ical4j.model.Component
calculateRecurrenceSet, copy, 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
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


Copyright © 2004-2012 Micronode. All Rights Reserved.