Module ical4j.core

Class FreeBusy

All Implemented Interfaces:
Serializable, Comparable<Property>, FluentProperty, Prototype<Property>

public class FreeBusy extends Property
$Id$

Created: [Apr 14, 2004]

Defines a FREEBUSY iCalendar component property.

     4.8.2.6 Free/Busy Time

        Property Name: FREEBUSY

        Purpose: The property defines one or more free or busy time
        intervals.

        Value Type: PERIOD. The date and time values MUST be in an UTC time
        format.

        Property Parameters: Non-standard or free/busy time type property
        parameters can be specified on this property.

        Conformance: The property can be specified in a "VFREEBUSY" calendar
        component.

        Property Parameter: "FBTYPE" and non-standard parameters can be
        specified on this property.

        Description: These time periods can be specified as either a start
        and end date-time or a start date-time and duration. The date and
        time MUST be a UTC time format.

        "FREEBUSY" properties within the "VFREEBUSY" calendar component
        SHOULD be sorted in ascending order, based on start time and then end
        time, with the earliest periods first.

        The "FREEBUSY" property can specify more than one value, separated by
        the COMMA character (US-ASCII decimal 44). In such cases, the
        "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
        property parameter type (e.g., all values of a particular "FBTYPE"
        listed together in a single property).

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

          freebusy   = "FREEBUSY" fbparam ":" fbvalue
                       CRLF

          fbparam    = *(
                     ; the following is optional,
                     ; but MUST NOT occur more than once

                     (";" fbtypeparam) /

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

                     (";" xparam)

                     )

          fbvalue    = period *["," period]
          ;Time value MUST be in the UTC time format.
 
See Also:
  • Constructor Details

    • FreeBusy

      public FreeBusy()
      Default constructor.
    • FreeBusy

      public FreeBusy(String aValue)
      Parameters:
      aValue - a freebusy value
    • FreeBusy

      public FreeBusy(ParameterList aList, String aValue)
      Parameters:
      aList - a list of parameters for this component
      aValue - a value string for this component
    • FreeBusy

      public FreeBusy(List<org.threeten.extra.Interval> pList)
      Parameters:
      pList - a list of periods
    • FreeBusy

      public FreeBusy(ParameterList aList, List<org.threeten.extra.Interval> pList)
      Parameters:
      aList - a list of parameters for this component
      pList - a list of periods
  • Method Details

    • validate

      public ValidationResult validate() throws ValidationException
      Perform validation on a property.
      Specified by:
      validate in class Property
      Throws:
      ValidationException - where the property is not in a valid state
    • getIntervals

      public final List<org.threeten.extra.Interval> getIntervals()
      Returns:
      Returns the periods.
    • setValue

      public final void setValue(String aValue)
      Sets the current value of the property.
      Specified by:
      setValue in class Property
      Parameters:
      aValue - a string representation of the property value
    • getValue

      public final String getValue()
      Specified by:
      getValue in class Content
      Returns:
      the content value
    • newFactory

      protected PropertyFactory<FreeBusy> newFactory()
      Description copied from class: Property
      Returns a new property factory used to create deep copies.
      Specified by:
      newFactory in class Property
      Returns:
      a property factory instance