Package net.fortuna.ical4j.model
Class Calendar
java.lang.Object
net.fortuna.ical4j.model.Calendar
- All Implemented Interfaces:
Serializable,ComponentContainer<CalendarComponent>,FluentCalendar,PropertyContainer
public class Calendar
extends Object
implements Serializable, PropertyContainer, ComponentContainer<CalendarComponent>, FluentCalendar
$Id$ [Apr 5, 2004]
Defines an iCalendar calendar.
4.6 Calendar Components
The body of the iCalendar object consists of a sequence of calendar
properties and one or more calendar components. The calendar
properties are attributes that apply to the calendar as a whole. The
calendar components are collections of properties that express a
particular calendar semantic. For example, the calendar component can
specify an event, a to-do, a journal entry, time zone information, or
free/busy time information, or an alarm.
The body of the iCalendar object is defined by the following
notation:
icalbody = calprops component
calprops = 2*(
; 'prodid' and 'version' are both REQUIRED,
; but MUST NOT occur more than once
prodid /version /
; 'calscale' and 'method' are optional,
; but MUST NOT occur more than once
calscale /
method /
x-prop
)
component = 1*(eventc / todoc / journalc / freebusyc /
/ timezonec / iana-comp / x-comp)
iana-comp = "BEGIN" ":" iana-token CRLF
1*contentline
"END" ":" iana-token CRLF
x-comp = "BEGIN" ":" x-name CRLF
1*contentline
"END" ":" x-name CRLF
Example 1 - Creating a new calendar:
Calendar calendar = new Calendar();
calendar.getProperties().add(new ProdId("-//Ben Fortuna//iCal4j 1.0//EN"));
calendar.getProperties().add(Version.VERSION_2_0);
calendar.getProperties().add(CalScale.GREGORIAN);
// Add events, etc..
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCalendar()Default constructor.Creates a deep copy of the specified calendar.Calendar(ComponentList<CalendarComponent> components) Constructs a new calendar with no properties and the specified components.Calendar(PropertyList<Property> properties, ComponentList<CalendarComponent> components) Initialise a Calendar object using the default configured validator.Calendar(PropertyList<Property> p, ComponentList<CalendarComponent> c, Validator<Calendar> validator) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanfinal CalScaleReturns the optional calscale property.final ComponentList<CalendarComponent>final MethodReturns the optional method property.final ProdIdReturns the mandatory prodid property.final PropertyList<Property>final VersionReturns the mandatory version property.final inthashCode()final StringtoString()validate()Perform validation on the calendar, its properties and its components in its current state.validate(boolean recurse) Perform validation on the calendar in its current state.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.fortuna.ical4j.model.ComponentContainer
getComponent, getComponentsMethods inherited from interface net.fortuna.ical4j.model.FluentCalendar
withComponent, withDefaults, withProdId, withPropertyMethods inherited from interface net.fortuna.ical4j.model.PropertyContainer
getProperties, getProperty
-
Field Details
-
BEGIN
Begin token.- See Also:
-
VCALENDAR
Calendar token.- See Also:
-
END
End token.- See Also:
-
-
Constructor Details
-
Calendar
public Calendar()Default constructor. -
Calendar
Constructs a new calendar with no properties and the specified components.- Parameters:
components- a list of components to add to the calendar
-
Calendar
Initialise a Calendar object using the default configured validator.- Parameters:
properties- a list of initial calendar propertiescomponents- a list of initial calendar components
-
Calendar
public Calendar(PropertyList<Property> p, ComponentList<CalendarComponent> c, Validator<Calendar> validator) Constructor.- Parameters:
p- a list of propertiesc- a list of componentsvalidator- used to ensure the validity of the calendar instance
-
Calendar
Creates a deep copy of the specified calendar.- Parameters:
c- the calendar to copy- Throws:
IOException- where an error occurs reading calendar dataParseException- where calendar parsing failsURISyntaxException- where an invalid URI string is encountered
-
-
Method Details
-
toString
-
getFluentTarget
- Specified by:
getFluentTargetin interfaceFluentCalendar
-
getComponents
- Specified by:
getComponentsin interfaceComponentContainer<CalendarComponent>- Returns:
- Returns the components.
-
getProperties
- Specified by:
getPropertiesin interfacePropertyContainer- Returns:
- Returns the properties.
-
validate
Perform validation on the calendar, its properties and its components in its current state.- Throws:
ValidationException- where the calendar is not in a valid state
-
validate
Perform validation on the calendar in its current state.- Parameters:
recurse- indicates whether to validate the calendar's properties and components- Throws:
ValidationException- where the calendar is not in a valid state
-
getProductId
Returns the mandatory prodid property.- Returns:
- the PRODID property, or null if property doesn't exist
-
getVersion
Returns the mandatory version property.- Returns:
- the VERSION property, or null if property doesn't exist
-
getCalendarScale
Returns the optional calscale property.- Returns:
- the CALSCALE property, or null if property doesn't exist
-
getMethod
Returns the optional method property.- Returns:
- the METHOD property, or null if property doesn't exist
-
equals
-
hashCode
public final int hashCode()
-