net.fortuna.ical4j.model.property

## Class FreeBusy

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

All Implemented Interfaces:
  Serializable

    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.

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
`FreeBusy()` Default constructor.
`FreeBusy(ParameterList aList, PeriodList pList)`
`FreeBusy(ParameterList aList, String aValue)`
`FreeBusy(PeriodList pList)`
`FreeBusy(String aValue)`

### Method Summary

Methods
`PeriodList` `getPeriods()`
`String` `getValue()`
`void` `setValue(String aValue)` Sets the current value of the property.
`void` `validate()` Perform validation on a property.

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

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

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

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

### Constructor Detail

#### FreeBusy

    public FreeBusy()

Default constructor.

#### FreeBusy

    public FreeBusy(String aValue)
             throws ParseException

Parameters:
  `aValue` - a freebusy value
Throws:
  `ParseException` - where the specified string is not a valid freebusy value

#### FreeBusy

    public FreeBusy(ParameterList aList,
            String aValue)
             throws ParseException

Parameters:
  `aList` - a list of parameters for this component
  `aValue` - a value string for this component
Throws:
  `ParseException` - when the specified string is not a valid list of periods

#### FreeBusy

    public FreeBusy(PeriodList pList)

Parameters:
  `pList` - a list of periods

#### FreeBusy

    public FreeBusy(ParameterList aList,
            PeriodList pList)

Parameters:
  `aList` - a list of parameters for this component
  `pList` - a list of periods

### Method Detail

#### validate

    public final void 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

#### getPeriods

    public final PeriodList getPeriods()

Returns:
  Returns the periods.

#### setValue

    public final void setValue(String aValue)
                        throws ParseException

Sets the current value of the property.

Specified by:
  `setValue` in class `Property`
Parameters:
  `aValue` - a string representation of the property value
Throws:
  `ParseException` - possibly thrown by setting the value of certain properties

#### getValue

    public final String getValue()

Specified by:
  `getValue` in class `Content`
Returns:
  the content value