📄 overview-summary.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Mon Feb 10 18:18:40 PST 2003 -->
<TITLE>
Overview (PIM Optional Package 1.0 Spec, Proposed Final Draft)
</TITLE>
<META NAME="keywords" CONTENT="Overview,PIM Optional Package 1.0 Specification<br>Rev. 0.24 - Proposed Final Draft">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="Overview (PIM Optional Package 1.0 Spec, Proposed Final Draft)";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="javax/microedition/pim/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
PIM Optional Package 1.0<br>Proposed Final Draft</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
PREV
NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>
<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A>
<SCRIPT> <!-- if(window==top) { document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT><A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A></NOSCRIPT></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<CENTER>
<H2>
PIM Optional Package 1.0 Specification<br>Rev. 0.24 - Proposed Final Draft</H2>
</CENTER>
This document, <i>PIM Optional Package Specification</i>,
defines the APIs that comprise the <i>Personal Information
Management</i> (PIM) optional package for Java 2™ Platform,
Micro Edition (J2ME™).
<P>
<B>See:</B>
<BR>
<A HREF="#overview_description"><B>Description</B></A>
<P>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Packages</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD WIDTH="20%"><B><A HREF="javax/microedition/pim/package-summary.html">javax.microedition.pim</A></B></TD>
<TD>The PIM package defines APIs to access Personal Information
Management (PIM) data.</TD>
</TR>
</TABLE>
<P>
<A NAME="overview_description"><!-- --></A>
<P>
<p>This document, <i>PIM Optional Package Specification</i>,
defines the APIs that comprise the <i>Personal Information
Management</i> (PIM) optional package for Java 2™ Platform,
Micro Edition (J2ME™).</p>
<h2>Preface</h2>
<p>This document defines a set of APIs known as the <i>Personal
Information Management (PIM) APIs</i> for Java<sup>™</sup>
2 Platform, Micro Edition (J2ME<sup>™</sup>). These APIs
are included in J2ME profiles as an <i>optional package</i>.
Optional packages are API sets that may be licensed and added on
top of J2ME configuration and profile implementations by vendors
independent of the JSR process. This allows VM
implementations to increase the functionality they offer while
still providing APIs that are defined as a standard by the Java
community.</p>
<p>The PIM APIs were developed by as part of JSR 75. There
is no dependency of these PIM APIs upon any other APIs produced
in JSR 75, and the PIM APIs can be licensed and packaged
separately from any other J2ME configuration, profile, or
optional package. </p>
<p><strong>This document and all associated documents are subject
to the terms of the JCP agreements (i.e. JSPA and/or IEPA),
available at </strong><a href="http://www.jcp.org"><strong>http://www.jcp.org</strong></a><strong>.</strong>
The version of the Java Community Process (JCP) procedures
followed is version 2.1, dated July 10, 2001.</p>
<h2>Document Conventions</h2>
<h3>Definitions</h3>
<p>This document uses definitions based upon those specified in
IETF RFC 2119 (See <a href="http://www.ietf.org/">http://www.ietf.org</a>).</p>
<p><i>Table 2 Specification Terms</i></p>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" nowrap><b>Term</b></td>
<td valign="top"><b>Definition</b></td>
</tr>
<tr>
<td valign="top" nowrap>MUST</td>
<td valign="top">The associated definition is an absolute
requirement of this specification.</td>
</tr>
<tr>
<td valign="top" nowrap>MUST NOT</td>
<td valign="top">The definition is an absolute
prohibition of this specification.</td>
</tr>
<tr>
<td valign="top" nowrap>SHOULD</td>
<td valign="top">Indicates a recommended practice.
There may exist valid reasons in particular circumstances
to ignore this recommendation, but the full implications
must be understood and carefully weighed before choosing
a different course.</td>
</tr>
<tr>
<td valign="top" nowrap>SHOULD NOT</td>
<td valign="top">Indicates a non-recommended
practice. There may exist valid reasons in
particular circumstances when the particular behavior is
acceptable or even useful, but the full implications
should be understood and the case carefully weighed
before implementing any behavior described with this
label.</td>
</tr>
<tr>
<td valign="top" nowrap>MAY</td>
<td valign="top">Indicates that an item is truly
optional.</td>
</tr>
</table>
<h3>Formatting Conventions</h3>
<p>This specification used the following formatting conventions.</p>
<p><i>Table 3 Formatting Conventions</i></p>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><b>Convention</b></td>
<td valign="top"><b>Description</b></td>
</tr>
<tr>
<td valign="top"><code>Courier</code></td>
<td valign="top">Used in all Java code including
keywords, data types, constants, method names, variables,
class names, and interface names.</td>
</tr>
<tr>
<td valign="top"><i>Italic</i></td>
<td valign="top">Used for emphasis and to signify the
first use of a term.</td>
</tr>
</table>
<h2>Overview</h2>
<p>The primary goal of the PIM APIs is to provide access to <i>Personal
Information Management</i> (PIM) data on J2ME devices. PIM data
is defined as information included in address book, calendar
application, and to do list applications. In addition,
implementations can provide access to PIM databases that are not
resident on the device but at well known locations, located on
SIM cards attached to the device, or to PIM databases created and
managed by the Java VM itself. This allows implementations of the
PIM API to provide PIM databases on devices that previously did
not have them, as well as providing access to remote PIM
databases from a J2ME device. </p>
<h2>Applicable Platform</h2>
<p>CLDC 1.0 is the minimum required platform for this API set.
The APIs in this package only depends on APIs required by the
CLDC 1.0 API set. That allows the PIM APIs to be deployed as an
optional API package on any J2ME profile that supports CLDC 1.0
or higher.</p>
<h2>Specification Requirements</h2>
<p>This section lists explicit requirements of this
specification. Implementations of the PIM API must follow these
requirements. Profiles including this PIM API package may require
additional requirements above and beyond the ones listed here.</p>
<p>Compliant PIM API implementations:</p>
<ul>
<li>MUST include all packages, classes, and interfaces
described in this specification.</li>
<li>MUST provide support for at least one of the types of PIM
lists defined in this API: either ContactList, EventList,
or ToDoList.</li>
<li>MUST provide access to one or more actual PIM lists for
each supported PIM list type.</li>
<li>MAY provide support for all types of PIM lists defined in
this API: ContactList, EventList, and ToDoList.</li>
<li>MUST provide a security model for accessing the PIM APIs.</li>
<li>MUST support at least <a
href="http://www.imc.org/pdi/vcard-21.txt">vCard 2.1</a>
and <a href="http://www.imc.org/pdi/vcal-10.txt">vCalendar
1.0</a> data formats for importing and exporting items
via serial formats mechanism defined in
javax.microedition.pim.PIM class. Implementations MUST
support <a href="http://www.ietf.org/rfc/rfc1521.txt">Quoted-Printable</a>
and <a href="http://www.ietf.org/rfc/rfc1521.txt">BASE64</a>
encoding formats in import and export. </li>
<li>MUST support at least the <a
href="http://ietf.org/rfc/rfc2279.txt">UTF-8</a>
character encoding for APIs that allow the application to
define character encodings. </li>
<li>MAY support other character encodings. </li>
</ul>
<h2>API Goals</h2>
<p>The goals for the PIM APIs are as follows:</p>
<ul>
<li>Provide <b>access</b> to entries in an <b>address book</b>
that may or may not reside on the device. </li>
<li>Provide <b>access</b> to entries in a <b>calendar</b>
that may or may not reside on the device. </li>
<li>Provide <b>access</b> to entries in a <b>to do list</b>
that may or may not reside on the device. </li>
<li>Provide an API that allows access to all fields in <strong>native
PIM databases</strong>. </li>
<li>Provide <b>security</b> in using these APIs so that
unauthorized Java applications may not access the entries
contained in the PIM lists. </li>
<li>Support <b>categories</b> of entries in the PIM
lists. Specifically, zero or more categories per
record are to be supported as dictated by the
device’s PIM implementation. </li>
<li>Provide an PIM API such that implementations of it can be
made in a <b>memory and performance efficient</b> manner,
targeted specifically for the J2ME CLDC space. </li>
<li>Support the <b>import and export</b> of address book
entries in a <b>vCard </b>format specified by the
Internet Mail Consortium (see <a
href="http://www.imc.org/pdi/">http://www.imc.org/pdi</a>).
</li>
<li>Support the <b>import and export</b> of calendar and to
do entries in a <b>vCalendar</b> format specified by the
Internet Mail Consortium (see <a
href="http://www.imc.org/pdi/">http://www.imc.org/pdi</a>).
</li>
</ul>
<p>Given these goals, a new API was devised to access PIM data in
the most efficient manner possible. The API resides in a
new J2ME package, <code><em>javax.microedition.pim</em></code>.
Detailed description of the PIM API scan be found in the <a
href="../PIM/javadoc/javax/microedition/pim/package-summary.html">JavaDoc
API Specification</a>.</p>
<h2>Package Discovery</h2>
<p>Because of its optional nature, this package of APIs may not
always be available on every platform. Each profile and platform
may have their own methods for J2ME package discovery as there is
no universal method existing at this time. An additional
method for package discovery of the PIM APIs is by using a system
properties query. To discover this package, call <font
face="Times New Roman"><code>System.getProperty</code></font>
with a key of <font face="Times New Roman"><code>microedition.pim.version</code></font>.
If the API is present, the value returned is the version of the
API (e.g. "1.0"). If the API is not present then the
key is also not present and <font face="Times New Roman"><code>null</code></font>
will be returned.</p>
<h2>PIM List Support</h2>
<p>There are three types of PIM lists accessible through this
API: ToDoList, EventList, and ContactList. PIM implementations
MUST support at least one type of PIM list (either ToDoList,
EventList, or ContactList). For example, an implementation may
choose to support only ContactList PIM access should the ToDoList
and EventList databases not exist or are not applicable on the
implementation's platform. If a type of PIM list is not
supported, then the methods used to access the unsupported PIM
list (i.e. <code>PIM.openPIMList(int, int) and
PIM.openPIMList(int, int, String)</code><font
face="Times New Roman"><code>)</code></font> MUST return a <code>PIMException</code>
when invoked with the correspoding PIM list type. PIM
implementations SHOULD support all three types of PIM lists to
enhance the compatibility of the implementation with all PIM API
applications.</p>
<p>For each PIM list type that an implementation supports, at
least one PIM list MUST be supported (e.g. at least one list must
be able to be opened). Implementations MAY support any number of
PIM lists of each PIM list type that it supports. For example, an
implementation may have 1 ToDoList, 2 EventList, and 0
ContactList. Each PIM list must have a name assigned to it that
is unique among all PIM lists of that same type on the platform.
The name of each PIM list is used to open the list using <code>PIM.openPIMList(int,
int String)</code>. </p>
<p>Additionally, if one or more lists exist for a particular PIM
list type, one of those lists MUST be designated by the
implementation as the <em>default list</em> for that PIM type.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -