net.fortuna.ical4j.model.property

## Class DtStart

- java.lang.Object
- - net.fortuna.ical4j.model.Content
  - - net.fortuna.ical4j.model.Property
    - - net.fortuna.ical4j.model.property.DateProperty
      - - net.fortuna.ical4j.model.property.DtStart

All Implemented Interfaces:
  Serializable

    public class DtStart
    extends DateProperty

$Id$ Created: [Apr 6, 2004] Defines a DTSTART iCalendar component property.

         4.8.2.4 Date/Time Start

            Property Name: DTSTART

            Purpose: This property specifies when the calendar component begins.

            Value Type: The default value type is DATE-TIME. The time value MUST
            be one of the forms defined for the DATE-TIME value type. The value
            type can be set to a DATE value type.

            Property Parameters: Non-standard, value data type, time zone
            identifier property parameters can be specified on this property.

            Conformance: This property can be specified in the "VEVENT", "VTODO",
            "VFREEBUSY", or "VTIMEZONE" calendar components.

            Description: Within the "VEVENT" calendar component, this property
            defines the start date and time for the event. The property is
            REQUIRED in "VEVENT" calendar components. Events can have a start
            date/time but no end date/time. In that case, the event does not take
            up any time.

            Within the "VFREEBUSY" calendar component, this property defines the
            start date and time for the free or busy time information. The time
            MUST be specified in UTC time.

            Within the "VTIMEZONE" calendar component, this property defines the
            effective start date and time for a time zone specification. This
            property is REQUIRED within each STANDARD and DAYLIGHT part included
            in "VTIMEZONE" calendar components and MUST be specified as a local
            DATE-TIME without the "TZID" property parameter.

            Format Definition: The property is defined by the following notation:

              dtstart    = "DTSTART" dtstparam ":" dtstval CRLF

              dtstparam  = *(

                         ; the following are optional,
                         ; but MUST NOT occur more than once

                         (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
                         (";" tzidparam) /

                         ; the following is optional,
                         ; and MAY occur more than once

                           *(";" xparam)

                         )

              dtstval    = date-time / date
              ;Value MUST match value type

Author:
  Ben Fortuna
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class net.fortuna.ical4j.model.Property

`ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION`

### Constructor Summary

Constructors
Constructor and Description
`DtStart()` Default constructor.
`DtStart(Date aDate)` Constructor.
`DtStart(Date time, boolean utc)` Constructs a new DtStart with the specified time.
`DtStart(ParameterList aList, Date aDate)` Constructor.
`DtStart(ParameterList aList, String aValue)`
`DtStart(String aValue)`
`DtStart(String value, TimeZone timezone)` Creates a new DTSTART property initialised with the specified timezone and value.
`DtStart(TimeZone timezone)` Creates a new DTSTART property initialised with the specified timezone.

### Method Summary

Methods
`void` `validate()` Perform validation on a property.

### Methods inherited from class net.fortuna.ical4j.model.property.DateProperty

`copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValue`

### Methods inherited from class net.fortuna.ical4j.model.Property

`equals, getName, getParameter, getParameters, getParameters, isCalendarProperty, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### DtStart

    public DtStart()

Default constructor. The time value is initialised to the time of instantiation.

#### DtStart

    public DtStart(TimeZone timezone)

Creates a new DTSTART property initialised with the specified timezone.

Parameters:
  `timezone` - initial timezone

#### DtStart

    public DtStart(String aValue)
            throws ParseException

Parameters:
  `aValue` - a value string for this component
Throws:
  `ParseException` - where the specified value string is not a valid date-time/date representation

#### DtStart

    public DtStart(String value,
           TimeZone timezone)
            throws ParseException

Creates a new DTSTART property initialised with the specified timezone and value.

Parameters:
  `value` - a string representation of a DTSTART value
  `timezone` - initial timezone
Throws:
  `ParseException` - where the specified value is not a valid string representation

#### DtStart

    public DtStart(ParameterList aList,
           String aValue)
            throws ParseException

Parameters:
  `aList` - a list of parameters for this component
  `aValue` - a value string for this component
Throws:
  `ParseException` - where the specified value string is not a valid date-time/date representation

#### DtStart

    public DtStart(Date aDate)

Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.

Parameters:
  `aDate` - a date

#### DtStart

    public DtStart(Date time,
           boolean utc)

Constructs a new DtStart with the specified time.

Parameters:
  `time` - the time of the DtStart
  `utc` - specifies whether time is UTC

#### DtStart

    public DtStart(ParameterList aList,
           Date aDate)

Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.

Parameters:
  `aList` - a list of parameters for this component
  `aDate` - a date

### Method Detail

#### validate

    public final void validate()
                        throws ValidationException

Perform validation on a property.

Overrides:
  `validate` in class `DateProperty`
Throws:
  `ValidationException` - where the property is not in a valid state