All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jfxtras.icalendarfx.properties.component.time.DateTimeEnd Maven / Gradle / Ivy

The newest version!
package jfxtras.icalendarfx.properties.component.time;

import java.time.temporal.Temporal;

import jfxtras.icalendarfx.components.VEvent;
import jfxtras.icalendarfx.components.VFreeBusy;
import jfxtras.icalendarfx.parameters.NonStandardParameter;
import jfxtras.icalendarfx.parameters.TimeZoneIdentifierParameter;
import jfxtras.icalendarfx.properties.PropBaseDateTime;
import jfxtras.icalendarfx.properties.ValueType;
import jfxtras.icalendarfx.properties.component.time.DateTimeEnd;
import jfxtras.icalendarfx.properties.component.time.DateTimeStart;

/**
 * 

RFC 5545, 3.8.2.2. Date-Time End

* *

Property Name: DTEND

* *

Purpose: This property specifies the date and time that a calendar * component ends.

* *

Value Type: The default value type is DATE-TIME. The value type can * be set to a DATE value type.

* *

Property Parameters: IANA, {@link NonStandardParameter non-standard}, * {@link ValueType value data type}, and {@link TimeZoneIdentifierParameter time * zone identifier} property parameters can be specified on this * property.

* *

Conformance: This property can be specified in {@link VEvent VEVENT} or * {@link VFreeBusy} calendar components.

* *

Description: Within the {@link VEvent VEVENT} calendar component, this property * defines the date and time by which the event ends. The value type * of this property MUST be the same as the {@link DateTimeStart DTSTART} property, and * its value MUST be later in time than the value of the {@link DateTimeStart DTSTART} * property. Furthermore, this property MUST be specified as a date * with local time if and only if the {@link DateTimeStart DTSTART} property is also * specified as a date with local time.

* *

Within the {@link VFreeBusy} calendar component, this property defines * the end date and time for the free or busy time information. The * time MUST be specified in the UTC time format. The value MUST be * later in time than the value of the {@link DateTimeStart DTSTART} property.

* *

Format Definition: This property is defined by the following * notation:
* *

    *
  • dtend *
      *
    • {@link DateTimeEnd DTEND} dtendparam ":" dtendval CRLF *
    *
  • dtendparam *
      *
    • The following are OPTIONAL, but MUST NOT occur more than once. *
        *
      • ";" {@link ValueType VALUE} "=" {@link ValueType#DATE} or {@link ValueType#DATE_TIME} *
      • ";" {@link TimeZoneIdentifierParameter TZID} *
      *
    • The following are OPTIONAL, and MAY occur more than once. *
        *
      • ";" {@link OtherParameter} *
      *
    *
* *

Example: The following is an example of this property: *

    *
  • DTEND:19960401T150000Z *
  • DTEND;VALUE=DATE:19980704 *
*/ public class DateTimeEnd extends PropBaseDateTime { public DateTimeEnd(Temporal temporal) { super(temporal); } public DateTimeEnd(DateTimeEnd source) { super(source); } public DateTimeEnd() { super(); } /** Parse string to Temporal. Not type safe. Implementation must * ensure parameterized type is the same as date-time represented by String parameter */ public static DateTimeEnd parse(String value) { return DateTimeEnd.parse(new DateTimeEnd(), value); } /** Parse string with Temporal class explicitly provided as parameter */ public static DateTimeEnd parse(Class clazz, String value) { DateTimeEnd property = DateTimeEnd.parse(new DateTimeEnd(), value); clazz.cast(property.getValue()); // class check return property; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy