net.fortuna.ical4j.model.component

## Class VAvailability

- java.lang.Object
- - net.fortuna.ical4j.model.Component
  - - net.fortuna.ical4j.model.component.CalendarComponent
    - - net.fortuna.ical4j.model.component.VAvailability

All Implemented Interfaces:
  Serializable

    public class VAvailability
    extends CalendarComponent

$Id$ [Apr 5, 2004] Defines an iCalendar VAVAILABILITY component.

       Component Name:  VAVAILABILITY

       Purpose:  Provide a grouping of component properties that describe
          the availability associated with a calendar user.

       Format Definition:  A "VAVAILABILITY" calendar component is defined
          by the following notation:

              availabilityc  = "BEGIN" ":" "VAVAILABILITY" CRLF
                               availabilityprop *availablec
                               "END" ":" "VAVAILABILITY" CRLF

              availabilityprop  = *(

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

                                dtstamp / dtstart / uid

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

                                busytype / created / last-mod /
                                organizer / seq / summary / url /

                                ; either 'dtend' or 'duration' may appear
                                ; in a 'availabilityprop', but 'dtend' and
                                ; 'duration' MUST NOT occur in the same
                                ; 'availabilityprop'

                                dtend / duration /

                                ; the following are OPTIONAL,
                                ; and MAY occur more than once

                                categories / comment / contact / x-prop

                                )

Author:
  Ben Fortuna, Mike Douglass
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class net.fortuna.ical4j.model.component.CalendarComponent

`EMPTY_VALIDATOR`

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

`AVAILABLE, BEGIN, END, EXPERIMENTAL_PREFIX, VALARM, VAVAILABILITY, VEVENT, VFREEBUSY, VJOURNAL, VTIMEZONE, VTODO, VVENUE`

### Constructor Summary

Constructors
Constructor and Description
`VAvailability()` Default constructor.
`VAvailability(PropertyList properties)` Constructs a new instance containing the specified properties.
`VAvailability(PropertyList properties, ComponentList available)` Constructor.

### Method Summary

Methods
`ComponentList` `getAvailable()` Returns the list of available times.
`protected Validator` `getValidator(Method method)`
`String` `toString()`
`void` `validate(boolean recurse)` Perform validation on a component.

### Methods inherited from class net.fortuna.ical4j.model.component.CalendarComponent

`validate, validateAdd, validateCancel, validateCounter, validateDeclineCounter, validatePublish, validateRefresh, validateReply, validateRequest`

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

`calculateRecurrenceSet, copy, equals, getName, getProperties, getProperties, getProperty, hashCode, validate, validateProperties`

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

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

### Constructor Detail

#### VAvailability

    public VAvailability()

Default constructor.

#### VAvailability

    public VAvailability(PropertyList properties)

Constructs a new instance containing the specified properties.

Parameters:
  `properties` - a list of properties

#### VAvailability

    public VAvailability(PropertyList properties,
                 ComponentList available)

Constructor.

Parameters:
  `properties` - a list of properties
  `available` - a list of available components

### Method Detail

#### getAvailable

    public final ComponentList getAvailable()

Returns the list of available times.

Returns:
  a component list

#### toString

    public final String toString()

Overrides:
  `toString` in class `Component`

#### validate

    public final void validate(boolean recurse)
                        throws ValidationException

Perform validation on a component.

Specified by:
  `validate` in class `Component`
Parameters:
  `recurse` - indicates whether to validate the component's properties
Throws:
  `ValidationException` - where the component is not in a valid state

#### getValidator

    protected Validator getValidator(Method method)

Specified by:
  `getValidator` in class `CalendarComponent`
Parameters:
  `method` - a method to validate on
Returns:
  a validator for the specified method or null if the method is not supported