Class VTimeZone

  • All Implemented Interfaces:
    Serializable, ComponentContainer<Observance>, 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
                             ; '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
                             "END" ":" "VTIMEZONE" CRLF
                standardc  = "BEGIN" ":" "STANDARD" CRLF
                             "END" ":" "STANDARD" CRLF
                daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
                             "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:
    Serialized Form
    • Constructor Detail

      • VTimeZone

        public VTimeZone()
        Default constructor.
      • VTimeZone

        public VTimeZone​(PropertyList properties)
        Constructs a new instance containing the specified properties.
        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.
        observances - a list of type components
      • VTimeZone

        public VTimeZone​(PropertyList properties,
                         ComponentList<Observance> observances)
        properties - a list of properties
        observances - a list of timezone types
    • Method Detail

      • validate

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

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

        public final Observance getApplicableObservance​(Date date)
        Returns the latest applicable timezone observance for the specified date.
        date - the latest possible date for a timezone observance onset
        the latest applicable timezone observance for the specified date or null if there are no applicable observances
      • getTimeZoneId

        public final TzId getTimeZoneId()
        the mandatory timezone identifier property
      • getLastModified

        public final LastModified getLastModified()
        the optional last-modified property
      • getTimeZoneUrl

        public final TzUrl getTimeZoneUrl()
        the optional timezone url property