|
PIM Optional Package 1.0 Final Release |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Represents a single Event entry in a PIM Event database. The fields are a
subset of the fields in the vEvent
object defined by the vCalendar
1.0 specification from the Internet Mail Consortium (http://www.imc.org). The
subset represents those fields necessary to provide the relevant information
about an Event entry without compromising platform portability.
A single event may have multiple occurrences; i.e. the event may be a recurring
event that is repeated at specified intervals. Each occurrence of an event is
determined by using a RepeatRule
to calculate when the event should have additional occurrences, besides the one
defined by the Event.START
field.
The Event class has many different fields that it can support. However, each
individual Event object supports only fields valid for its associated list. Its
EventList restricts what fields in a Event are retained. This reflects that
some native Event databases do not support all of the fields available in a
Event item. The methods
PIMList.isSupportedField(int)
and
PIMList.getSupportedFields()
can be used to determine if a
particular Event field is supported by an EventList and therefore persisted
when the Event is committed to its list. Attempts to set or get data based on
field IDs not supported in the Event's EventList result in a
UnsupportedFieldException
.
The following table details the explicitly defined fields that may by in an Event. Implementations may extend the field set using extended fields as defined in PIMItem.
Fields | Type of Data Associated with Field |
---|---|
LOCATION, NOTE, SUMMARY, UID |
PIMItem.STRING |
END, REVISION, START
|
PIMItem.DATE |
ALARM, CLASS |
PIMItem.INT |
All Event fields may or may not be supported by a particular list. This is due
to the fact that underlying native databases may not support all of the fields
defined in this API. Support for any of the fields can be determined by the
method
PIMList.isSupportedField(int)
.
Native Event databases may require some of the fields to have values assigned to them in order to be persisted. If an application does not provide values for these fields, default values are provided for the Event by the VM when the Event is persisted.
EventList events = null; try { events = (EventList) PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE); } catch (PIMException e) { // An error occurred return; } Event event = events.createEvent(); if (events.isSupportedField(Event.SUMMARY)) event.addString(Event.SUMMARY, PIMItem.ATTR_NONE, "Meeting with John"); if (events.isSupportedField(Event.START)) event.addDate(Event.START, PIMItem.ATTR_NONE, aDate.getTime()); if (events.isSupportedField(Event.END)) event.addDate(Event.END, PIMItem.ATTR_NONE, aDate.getTime()); if (events.isSupportedField(Event.ALARM)) event.addInt(Event.ALARM, PIMItem.ATTR_NONE, aDate.getTime() - 60000); if (events.isSupportedField(Event.NOTE)) event.addString(Event.NOTE, PIMItem.ATTR_NONE, "I phoned on Monday to book this meeting"); if (events.maxCategories() != 0 && events.isCategory("Work")) event.addToCategory("Work"); } try { event.commit(); } catch (PIMException e) { // An error occured } try { events.close(); } catch (PIMException e) { }
UnsupportedFieldException
.
In this case, the setting of the whole Event is rejected if any of the fields
are not supported in the particular list implementation.
EventList events = null; try { events = (EventList) PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE); } catch (PIMException e) { // An error occurred return; } Event event = events.createEvent(); try { Date aDate = new Date(); event.addString(Event.SUMMARY, PIMItem.ATTR_NONE, "Meeting with John"); event.addDate(Event.START, PIMItem.ATTR_NONE, aDate.getTime()); event.addDate(Event.END, PIMItem.ATTR_NONE, aDate.getTime()); event.addDate(Event.ALARM, PIMItem.ATTR_NONE, aDate.getTime() - 60000); event.addString(Event.NOTE, PIMItem.ATTR_NONE, "I phoned on Monday to book this meeting"); event.addToCategory("Work"); } catch (UnsupportedFieldException e) { // In this case, we choose not to save the contact at all if any of the // fields are not supported on this platform. System.out.println("Event not saved"); return; } try { event.commit(); } catch (PIMException e) { // An error occured } try { events.close(); } catch (PIMException e) { }
EventList
Field Summary | |
static int |
ALARM
Field specifying a relative time for an Alarm for this Event. |
static int |
CLASS
Field specifying the desired access class for this contact. |
static int |
CLASS_CONFIDENTIAL
Constant indicating this event's class of access is confidential. |
static int |
CLASS_PRIVATE
Constant indicating this event's class of access is private. |
static int |
CLASS_PUBLIC
Constant indicating this event's class of access is public. |
static int |
END
Field specifying the non-inclusive date and time a single Event ends. |
static int |
LOCATION
Field identifying the venue for this Event. |
static int |
NOTE
A String specifying a more complete description than the SUMMARY for this Event. |
static int |
REVISION
Field specifying the last modification date and time of an Event item. |
static int |
START
Field specifying the inclusive date and time a single Event starts. |
static int |
SUMMARY
Field specifying the summary or subject for this Event. |
static int |
UID
Field specifying a unique ID for an Event. |
Fields inherited from interface javax.microedition.pim.PIMItem |
ATTR_NONE,
BINARY,
BOOLEAN, DATE,
EXTENDED_ATTRIBUTE_MIN_VALUE,
EXTENDED_FIELD_MIN_VALUE,
INT, STRING,
STRING_ARRAY |
Method Summary | |
RepeatRule |
getRepeat()
Retrieves a RepeatRule object specifying how often and when this event occurs. |
void |
setRepeat(RepeatRule value)
Sets the RepeatRule specifying how often and when this event occurs. |
Methods inherited from interface javax.microedition.pim.PIMItem |
addBinary,
addBoolean,
addDate,
addInt,
addString,
addStringArray,
addToCategory,
commit,
countValues,
getAttributes,
getBinary,
getBoolean,
getCategories,
getDate,
getFields,
getInt,
getPIMList,
getString,
getStringArray,
isModified,
maxCategories,
removeFromCategory,
removeValue,
setBinary,
setBoolean,
setDate,
setInt,
setString,
setStringArray |
Field Detail |
public static final int ALARM
Event.START
.
For reoccurrences of the event, the alarm is calculated by substracting the
stored value from the date/time of the specific event occurrence.
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native Event database only support alarm values with granularity in terms of minutes, then the provided alarm value is rounded down to the nearest minute (e.g. 636 seconds would become 600 seconds).
public static final int CLASS
CLASS_PRIVATE
,
CLASS_PUBLIC
, or
CLASS_CONFIDENTIAL
.
public static final int END
If START
and END
are the same this event is an all
day event. If END
is specified but START
is not, the
event occurs only at the instance specified by END
.
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native Event database only support event date values with granularity in terms of seconds, then the provided date value is rounded down to a date time with a full second.
START
,
Constant
Field Valuespublic static final int LOCATION
public static final int NOTE
SUMMARY
for
this Event. Data for this field is a string value. For example:
public static final int REVISION
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native Event database only support event date values with granularity in terms of seconds, then the provided date value is rounded down to a date time with a full second.
public static final int START
If START
and END
are the same this event is an all
day event. If START
is specified but END
is not, the
event occurs only at the instance specified by START
.
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native Event database only support event date values with granularity in terms of seconds, then the provided date value is rounded down to a date time with a full second.
END
,
Constant
Field Valuespublic static final int SUMMARY
public static final int UID
String.equals
. UID is read only if the Event has
been committed to an EventList at least once in its lifetime. The UID is not
set if the Event has never been committed to an EventList; countValues(UID)
returns 0 before a newly created Event object is committed to its list. The
attribute is valid for the persistent life of the Event and may be reused by
the platform once this particular Event is deleted. The data for this field is
of string type.
public static final int CLASS_CONFIDENTIAL
public static final int CLASS_PRIVATE
public static final int CLASS_PUBLIC
Method Detail |
public RepeatRule getRepeat()
setRepeat
method if they are to be persisted with
the Event.
null
if a RepeatRule has not been set.public void setRepeat(RepeatRule value)
value
- A RepeatRule describing how often this
Event occurs or null
to clear any RepeatRule.
|
Final Release Rev. 1.00 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |