Class VTimeZone

All Implemented Interfaces:
Serializable, ComponentContainer<Observance>, FluentComponent, PropertyContainer

public class VTimeZone extends CalendarComponent implements ComponentContainer<Observance>
$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
  
                       )
 
See Also:
  • Constructor Details

    • 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<Observance> 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<Observance> observances)
      Constructor.
      Parameters:
      properties - a list of properties
      observances - a list of timezone types
  • 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
    • getObservances

      public final ComponentList<Observance> getObservances()
      Returns:
      Returns the types.
    • getComponents

      public ComponentList<Observance> getComponents()
      Specified by:
      getComponents in interface ComponentContainer<Observance>
    • 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