net.fortuna.ical4j.model.component
Class VTimeZone

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.VTimeZone
All Implemented Interfaces:
Serializable

public class VTimeZone
extends CalendarComponent

$Id$ [Apr 5, 2004] Defines an iCalendar VTIMEZONE component.

       4.6.5 Time Zone Component
  
          Component Name: VTIMEZONE
  
          Purpose: Provide a grouping of component properties that defines a
          time zone.
  
          Formal Definition: A "VTIMEZONE" calendar component is defined by the
          following notation:
  
            timezonec  = "BEGIN" ":" "VTIMEZONE" CRLF
  
                         2*(
  
                         ; 'tzid' is required, but MUST NOT occur more
                         ; than once
  
                       tzid /
  
                         ; 'last-mod' and 'tzurl' are optional,
                       but MUST NOT occur more than once
  
                       last-mod / tzurl /
  
                         ; one of 'standardc' or 'daylightc' MUST occur
                       ..; and each MAY occur more than once.
  
                       standardc / daylightc /
  
                       ; the following is optional,
                       ; and MAY occur more than once
  
                         x-prop
  
                         )
  
                         "END" ":" "VTIMEZONE" CRLF
  
            standardc  = "BEGIN" ":" "STANDARD" CRLF
  
                         tzprop
  
                         "END" ":" "STANDARD" CRLF
  
            daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
  
                         tzprop
  
                         "END" ":" "DAYLIGHT" CRLF
  
            tzprop     = 3*(
  
                       ; the following are each REQUIRED,
                       ; but MUST NOT occur more than once
  
                       dtstart / tzoffsetto / tzoffsetfrom /
  
                       ; the following are optional,
                       ; and MAY occur more than once
  
                       comment / rdate / rrule / tzname / x-prop
  
                       )
 

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
VTimeZone()
          Default constructor.
VTimeZone(ComponentList observances)
          Constructs a new vtimezone component with no properties and the specified list of type components.
VTimeZone(PropertyList properties)
          Constructs a new instance containing the specified properties.
VTimeZone(PropertyList properties, ComponentList observances)
          Constructor.
 
Method Summary
 Component copy()
          Overrides default copy method to add support for copying observance sub-components.
 boolean equals(Object arg0)
          
 Observance getApplicableObservance(Date date)
          Returns the latest applicable timezone observance for the specified date.
 LastModified getLastModified()
           
 ComponentList getObservances()
           
 TzId getTimeZoneId()
           
 TzUrl getTimeZoneUrl()
           
protected  Validator getValidator(Method method)
          
 int hashCode()
          
 String toString()
          
 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, getName, getProperties, getProperties, getProperty, validate, validateProperties
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VTimeZone

public VTimeZone()
Default constructor.


VTimeZone

public VTimeZone(PropertyList properties)
Constructs a new instance containing the specified properties.

Parameters:
properties - a list of properties

VTimeZone

public VTimeZone(ComponentList observances)
Constructs a new vtimezone component with no properties and the specified list of type components.

Parameters:
observances - a list of type components

VTimeZone

public VTimeZone(PropertyList properties,
                 ComponentList observances)
Constructor.

Parameters:
properties - a list of properties
observances - a list of timezone types
Method Detail

toString

public final String toString()

Overrides:
toString in class Component

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

getObservances

public final ComponentList getObservances()
Returns:
Returns the types.

getApplicableObservance

public final Observance getApplicableObservance(Date date)
Returns the latest applicable timezone observance for the specified date.

Parameters:
date - the latest possible date for a timezone observance onset
Returns:
the latest applicable timezone observance for the specified date or null if there are no applicable observances

getTimeZoneId

public final TzId getTimeZoneId()
Returns:
the mandatory timezone identifier property

getLastModified

public final LastModified getLastModified()
Returns:
the optional last-modified property

getTimeZoneUrl

public final TzUrl getTimeZoneUrl()
Returns:
the optional timezone url property

equals

public boolean equals(Object arg0)

Overrides:
equals in class Component

hashCode

public int hashCode()

Overrides:
hashCode in class Component

copy

public Component copy()
               throws ParseException,
                      IOException,
                      URISyntaxException
Overrides default copy method to add support for copying observance sub-components.

Overrides:
copy in class Component
Returns:
a copy of the instance
Throws:
ParseException - where an error occurs parsing data
IOException - where an error occurs reading data
URISyntaxException - where an invalid URI is encountered
See Also:
Component.copy()


Copyright © 2004-2012 Micronode. All Rights Reserved.