|
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 To Do item in a PIM To Do database. The fields are a subset
of the fields in VTODO
defined by the vCalendar specification from
the Internet Mail Consortium (http://www.imc.org). The subset represents those
fields necessary to provide enough information about a ToDo item without
compromising platform portability.
The ToDo class has many different field IDs that it can support. However, each
individual ToDo object supports only fields valid for its associated list. Its
ToDoList restricts what fields in a ToDo are retained. This reflects that some
native ToDo databases do not support all of the fields available in a ToDo
item. The methods
PIMList.isSupportedField(int)
and
PIMList.getSupportedFields()
can be used to determine if a
particular ToDo field is supported by a ToDoList and therefore persisted when
the ToDo is committed to its list. Attempts to set or get data based on field
IDs not supported in the ToDo's ToDoList result in a
UnsupportedFieldException
.
Fields | Type of Data Associated with Field |
---|---|
NOTE, SUMMARY, UID |
PIMItem.STRING |
CLASS, PRIORITY |
PIMItem.INT |
COMPLETION_DATE, DUE, REVISION
|
PIMItem.DATE |
COMPLETED |
PIMItem.BOOLEAN |
All ToDo fields may or may not besupported 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 ToDo 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 ToDo by the VM when the ToDo is persisted.
ToDoList todos = null; try { todos = (ToDoList) PIM.getInstance().openPIMList(PIM.TODO_LIST, PIM.READ_WRITE); } catch (PIMException e) { // An error occurred return; } ToDo todo = todos.createToDo(); if (todos.isSupportedField(Event.SUMMARY)) todo.addString(ToDo.SUMMARY, PIMItem.ATTR_NONE, "Buy going away present for Judy"); if (todos.isSupportedField(Event.DUE)) todo.addDate(ToDo.DUE, PIMItem.ATTR_NONE, new Date().getTime()); if (todos.isSupportedField(Event.NOTE)) todo.addString(ToDo.NOTE, PIMItem.ATTR_NONE, "Judy really likes stained glass and expensive pens"); if (todos.isSupportedField(Event.PRIORITY)) todo.addInt(ToDo.PRIORITY, PIMItem.ATTR_NONE, 2); if (todos.maxCategories() != 0 && todos.isCategory("Work")) todo.addToCategory("Work"); } try { todo.commit(); } catch (PIMException e) { // An error occured } try { todos.close(); } catch (PIMException e) { }
UnsupportedFieldException
.
In this case, the setting of the whole ToDo is rejected if any of the fields
are not supported in the particular list implementation.
ToDoList todos = null; try { todos = (ToDoList) PIM.getInstance().openPIMList(PIM.TODO_LIST, PIM.READ_WRITE); } catch (PIMException e) { // An error occurred return; } ToDo todo = todos.createToDo(); try { todo.addString(ToDo.SUMMARY, PIMItem.ATTR_NONE, "Buy going away present for Judy"); todo.addDate(ToDo.DUE, PIMItem.ATTR_NONE, new Date().getTime()); todo.addString(ToDo.NOTE, PIMItem.ATTR_NONE, "Judy really likes stained glass and expensive pens"); todo.addInt(ToDo.PRIORITY, PIMItem.ATTR_NONE, 2); todo.addToCategory("Work"); } catch (UnsupportedFieldException e) { // In this case, we choose not to save the ToDo at all if any of the // fields are not supported on this platform. System.out.println("Todo not saved"); return; } try { todo.commit(); } catch (PIMException e) { // An error occured } try { todos.close(); } catch (PIMException e) { }
ToDoList
Field Summary | |
static int |
CLASS
Field specifying the desired access class for this contact. |
static int |
CLASS_CONFIDENTIAL
Constant indicating this todo's class of access is confidential. |
static int |
CLASS_PRIVATE
Constant indicating this todo's class of access is private. |
static int |
CLASS_PUBLIC
Constant indicating this todo's class of access is public. |
static int |
COMPLETED
Field ID indicating a ToDo has been completed. |
static int |
COMPLETION_DATE
Field ID indicating a ToDo has been completed on the date indicated by this field. |
static int |
DUE
The date a ToDo is due.The data for this field is expressed in the same long value format as java.util.Date, which is milliseconds since the epoch (00:00:00 GMT, January 1, 1970). |
static int |
NOTE
Field specifying a more complete description than the SUMMARY for this ToDo. |
static int |
PRIORITY
Field specifying the priority of this ToDo. |
static int |
REVISION
Field specifying the last modification date and time of a ToDo item. |
static int |
SUMMARY
Field specifying the summary or subject for this ToDo. |
static int |
UID
Field specifying a unique ID for a ToDo. |
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 |
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 CLASS
CLASS_PRIVATE
,
CLASS_PUBLIC
, or
CLASS_CONFIDENTIAL
.
public static final int COMPLETED
public static final int COMPLETION_DATE
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native ToDo database only support todo 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 DUE
Note that the value provided may be rounded-down by an implementation due to platform restrictions. For example, should a native ToDo database only support todo 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 NOTE
public static final int PRIORITY
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 ToDo database only support todo 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 SUMMARY
public static final int UID
String.equals
. UID is read only if the ToDo has
been committed to a ToDoList at least once in its lifetime. The UID is not set
if the ToDo has never been committed to a ToDoList; countValues(UID)
returns 0 before a newly created ToDo object is committed to its list. The
attribute is valid for the persistent life of the ToDo and may be reused by the
platform once this particular ToDo is deleted. 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
|
Final Release Rev. 1.00 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |