er.calendar
Class ERPublishCalendarPage
java.lang.Object
com.webobjects.appserver.WOElement
com.webobjects.appserver.WOComponent
er.calendar.ERPublishCalendarPage
- All Implemented Interfaces:
- Cloneable, NSKeyValueCoding, NSKeyValueCoding.ErrorHandling, NSKeyValueCodingAdditions, NSValidation, Serializable, WOActionResults
- public class ERPublishCalendarPage
- extends WOComponent
ERPublishCalendarPage is a WebObjects component for dynamically
generated iCalendar documents.
The response created by ERPublishCalendarPage is an iCalendar
document (.ics) containing the events added to ERPublishCalendarPage
by the application (see addEvent
).
An iCalendar-aware application, such as Apple's iCal, can
subscribe to such a calendar, provided that the page has a fixed
URL (either is the "Main" page, or a direct action serves the page).
Events added to a ERPublishCalendarPage is objects of any class that
implements the ERCalendarEvent interface
.
Existing classes (for example EOCustomObject subclasses), that
correspond to calendar events, can easily be modified to
implement ERCalendarEvent
and thus be added
directly to ERPublishCalendarPage. If existing classes does not
directly correspond to calendar events, create events from business
data (or some algorithm) using either the included
ERSimpleEvent class
, a subclass of
ERSimpleEvent
, or any other class implementing
the ERCalendarEvent interface
.
- Version:
- 1.0, 2002-09-30
- Author:
- Johan Carlberg
- See Also:
- Serialized Form
Nested classes inherited from class com.webobjects.foundation.NSKeyValueCoding |
NSKeyValueCoding._BooleanFieldBinding, NSKeyValueCoding._BooleanMethodBinding, NSKeyValueCoding._FieldBinding, NSKeyValueCoding._ForwardingBinding, NSKeyValueCoding._KeyBinding, NSKeyValueCoding._KeyBindingCreation, NSKeyValueCoding._MethodBinding, NSKeyValueCoding._NumberFieldBinding, NSKeyValueCoding._NumberMethodBinding, NSKeyValueCoding._ReflectionKeyBindingCreation, NSKeyValueCoding.DefaultImplementation, NSKeyValueCoding.ErrorHandling, NSKeyValueCoding.Null, NSKeyValueCoding.UnknownKeyException, NSKeyValueCoding.Utility, NSKeyValueCoding.ValueAccessor |
Methods inherited from class com.webobjects.appserver.WOComponent |
_associationWithName, _awakeInContext, _childTemplate, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, application, awake, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hasBinding, hasSession, invokeAction, isCachingEnabled, isEventLoggingEnabled, isStateless, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, reset, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, sleep, synchronizesVariablesWithBindings, takeValueForKey, takeValueForKeyPath, takeValuesFromRequest, template, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, validationFailedWithException, valueForBinding, valueForKey, valueForKeyPath |
calendarName
protected String calendarName
calendarTimeZone
protected String calendarTimeZone
maxLineLength
protected final int maxLineLength
- See Also:
- Constant Field Values
events
protected NSMutableArray events
event
public ERCalendarEvent event
eventTimestamp
protected NSTimestamp eventTimestamp
dateTimeFormatter
protected NSTimestampFormatter dateTimeFormatter
dateFormatter
protected NSTimestampFormatter dateFormatter
utcDateTimeFormatter
protected NSTimestampFormatter utcDateTimeFormatter
timeZoneFormatter
protected NSTimestampFormatter timeZoneFormatter
ERPublishCalendarPage
public ERPublishCalendarPage(WOContext context)
- Standard constructor for WOComponent subclasses.
- Parameters:
context
- context of a transaction- See Also:
WOComponent.pageWithName(String)
,
WOApplication.pageWithName(String, WOContext)
appendToResponse
public void appendToResponse(WOResponse aResponse,
WOContext aContext)
- Modifies content encoding to UTF8, and content type to text/calendar.
- Parameters:
aResponse
- the HTTP response that an application returns to a Web server to complete a cycle of the request-response loopaContext
- context of a transaction
addEvent
public void addEvent(ERCalendarEvent event)
- Adds an event to the calendar.
- Parameters:
event
- the event to be included in the calendar- See Also:
ERCalendarEvent
,
addEventsFromArray(NSArray)
addEventsFromArray
public void addEventsFromArray(NSArray eventsArray)
- Adds an array of events to the calendar.
- Parameters:
eventsArray
- the events to be included in the calendar- See Also:
ERCalendarEvent
,
addEvent(ERCalendarEvent)
removeEvent
public void removeEvent(ERCalendarEvent event)
- Removes a previously added event from the calendar.
- Parameters:
event
- the event to be removed from the calendar- See Also:
ERCalendarEvent
,
removeEventsInArray(NSArray)
removeEventsInArray
public void removeEventsInArray(NSArray eventsArray)
- Removes an array of previously added events from the calendar.
- Parameters:
eventsArray
- the events to be removed from the calendar- See Also:
ERCalendarEvent
,
removeEvent(ERCalendarEvent)
events
public NSMutableArray events()
calendarName
public String calendarName()
- Returns:
- name of the calendar
- See Also:
setCalendarName(String)
escapedCalendarName
public String escapedCalendarName()
- Returns:
- name of the calendar, backslash escaped for inclusion in
iCalendar document.
- See Also:
calendarName
setCalendarName
public void setCalendarName(String value)
- Sets the name of the calendar.
- Parameters:
value
- name of the calendar- See Also:
calendarName
calendarTimeZone
public String calendarTimeZone()
- Returns:
- originating time zone for the calendar (name of the
system default time zone, if not changed by
setCalendarTimeZone
- See Also:
setCalendarTimeZone(String)
escapedCalendarTimeZone
public String escapedCalendarTimeZone()
- Returns:
- time zone name of the calendar, backslash escaped
for inclusion in iCalendar document.
- See Also:
calendarTimeZone
setCalendarTimeZone
public void setCalendarTimeZone(String value)
- Sets the name of the time zone for the calendar.
- Parameters:
value
- name of the time zone- See Also:
calendarTimeZone
escapedEventStatus
public String escapedEventStatus()
- Returns:
- status of the current event, backslash escaped
for inclusion in iCalendar document.
- See Also:
ERCalendarEvent.status()
escapedEventSummary
public String escapedEventSummary()
- Returns:
- summary of the current event, backslash escaped
for inclusion in iCalendar document.
- See Also:
ERCalendarEvent.summary()
escapedEventUniqueId
public String escapedEventUniqueId()
- Returns:
- unique id of the current event, backslash escaped
for inclusion in iCalendar document.
- See Also:
ERCalendarEvent.uniqueId()
eventTimestamp
public NSTimestamp eventTimestamp()
- Returns:
- timestamp of the current event.
This will always be the current time, as this is
the time the event is converted to an iCalendar
event.
eventRepeatFrequency
public String eventRepeatFrequency()
- Returns:
- the recurring rule frequency, as one of "YEARLY", "MONTHLY",
"WEEKLY", "DAILY", "HOURLY", "MINUTELY", "SECONDLY" depending
on the value returned by
repeatFrequency
. - See Also:
ERCalendarEvent.repeatFrequency()
eventRepeatMonth
public Number eventRepeatMonth()
- Returns:
- month number of a repeating event for use in
the "BYMONTH" parameter.
eventRepeatDayOfWeekString
public String eventRepeatDayOfWeekString()
- Returns:
- day of week of a repeating event for use in
the "BYDAY" parameter.
eventRepeatDaysOfMonthString
public String eventRepeatDaysOfMonthString()
- Returns:
- days of month of a repeating event for use in
the "BYMONTHDAY" parameter.
dateTimeFormatter
public NSTimestampFormatter dateTimeFormatter()
- Returns:
- formatter for date/time.
Will format date/times as "20021003T191234",
specified in the local time zone.
dateFormatter
public NSTimestampFormatter dateFormatter()
- Returns:
- formatter for dates.
Will format dates as "20021003",
specified in the local time zone.
utcDateTimeFormatter
public NSTimestampFormatter utcDateTimeFormatter()
- Returns:
- formatter for date/time stamps.
Will format date/times as "20021003T171234Z",
specified in UTC (GMT).
timeZoneFormatter
public NSTimestampFormatter timeZoneFormatter()
- Returns:
- formatter for time zone.
Will format date/times as only the name
of the local time zone.
escapedString
protected String escapedString(String string)
- Returns:
- backslash escaped text string, with special characters
replaced with its backslash escaped equivalent.
foldLongLinesInString
protected String foldLongLinesInString(String content)
- Folds lines that are longer than the maximum allowed 75 characters.
- Parameters:
content
- unfolded iCalendar content
- Returns:
- folded content, with no line longer than 75 characters
Copyright © 2002 – 2004 Project Wonder.