Sun Java Solaris Communities My SDN Account Join SDN
 
Article

Managing Personal Information - Summary of PIM Fields

 
By C. Enrique Ortiz, April 2007  

Mobile handsets such as cellphones typically have an address book to keep track of people we like to stay in touch with, a calendar to keep track of important events, and a to-do list to keep track of items we don't want to forget. This type of personal information is one of the most important functions found in a handset, just second to voice. You can use the PIM API for Java ME to enable your mobile Java applications to read and write to/from the locally stored personal information databases. You can even write synchronizers to keep your handset PIM data in-sync with remote PIM data stores. This technical tip summaries the PIM API fields.

Contents
 
Summary of PIM Fields
Resources
Acknowledgements
About the Author
 
Summary of PIM Fields

The PIM API for Java ME supports fields and attributes that map to Internet Mail Consortium Personal Data Interchange vCard 2.1, vCard 3.0 and vCalendar 1.0.

The JSR 75 provides a comprehensive set of tables that summarizes the fields and attributes, and how the map to vCard 2.1, vCard 3.0 (RFC 2425 and RFC 2426) and vCalendar 1.0. The following tables come from the JSR 75 specification:

Contact Field Mappings
Contact Field and Attributes
vCard 2.1 Property Name/Property Parameters
vCard 3.0 Type Property Name/Property Parameters
ADDR
ADR
ADR
ADDR_COUNTRY
7th address component in the semi-colon separated string type value in ADR
7th address component in the semi-colon separated string type value in ADR
ADDR_EXTRA
2nd address component in the semi-colon separated string type value in ADR
2nd address component in the semi-colon separated string type value in ADR
ADDR_LOCALITY
4th address component in the semi-colon separated string type value in ADR
4th address component in the semi-colon separated string type value in ADR
ADDR_POBOX
1st address component in the semi-colon separated string type value in ADR
1st address component in the semi-colon separated string type value in ADR
ADDR_POSTALCODE
6th address component in the semi-colon separated string type value in ADR
6th address component in the semi-colon separated string type value in ADR
ADDR_REGION
5th address component in the semi-colon separated string type value in ADR
5th address component in the semi-colon separated string type value in ADR
ADDR_STREET
3rd address component in the semi-colon separated string type value in ADR
3rd address component in the semi-colon separated string type value in ADR
BIRTHDAY
BDAY
BDAY
CLASS
Implementation specific mapping
CLASS
EMAIL
EMAIL/INTERNET
EMAIL/INTERNET
FORMATTED_ADDR
LABEL
LABEL
FORMATTED_NAME
FN
FN
NAME
N
N
NAME_FAMILY
1st name component in the semi-colon separated string type value in N
1st name component in the semi-colon separated string type value in N
NAME_GIVEN
2nd name component in the semi-colon separated string type value in N
2nd name component in the semi-colon separated string type value in N
NAME_OTHER
3rd name component in the semi-colon separated string type value in N
3rd name component in the semi-colon separated string type value in N
NAME_PREFIX
4th name component in the semi-colon separated string type value in N
4th name component in the semi-colon separated string type value in N
NAME_SUFFIX
5th name component in the semi-colon separated string type value in N
5th name component in the semi-colon separated string type value in N
NICKNAME
NICKNAME
NICKNAME
NOTE
NOTE
NOTE
ORG
ORG
ORG
PHOTO
PHOTO (inline specification of photo)
PHOTO (inline specification of photo)
PHOTO_URL
PHOTO/VALUE=URL
PHOTO/VALUE=URL
PUBLIC_KEY
KEY (inline binary specification)
KEY
PUBLIC_KEY_STRING
KEY (default text string)
KEY
REVISION
REV
REV
TEL
TEL/VOICE
TEL/VOICE
TITLE
TITLE
TITLE
UID
UID
UID
URL
URL
URL
ATTR_ASST
Implementation specific mapping
Implementation specific mapping
ATTR_AUTO
CAR property parameter
CAR property parameter
ATTR_FAX
FAX property parameter
FAX property parameter
ATTR_HOME
HOME property parameter
HOME property parameter
ATTR_MOBILE
CELL property parameter
CELL property parameter
ATTR_OTHER
Implementation specific mapping
Implementation specific mapping
ATTR_PAGER
PAGER property parameter
PAGER property parameter
ATTR_PREFERRED
PREF property parameter
PREF property parameter
ATTR_SMS
MSG property parameter
MSG property parameter
ATTR_WORK
WORK property parameter
WORK property parameter
ATTR_NONE
no mapping
no mapping
 
Event Field Mappings
Event Field
vCalendar 1.0 Property Name/Property Parameters
ALARM
DALARM/DATE-TIME (implementations may also additionally set AALARM in concert with this property)
CLASS
CLASS
END
DTEND
LOCATION
LOCATION
NOTE
DESCRIPTION
REVISION
LAST-MODIFIED
START
DTSTART
SUMMARY
SUMMARY
UID
UID
 
ToDo Field Mappings
ToDo Field
vCalendar 1.0 Property Name/Property Parameters
CLASS
CLASS
COMPLETION_DATE
COMPLETED
COMPLETED
COMPLETED (presence of field indicates completed is true)
DUE
DUE
NOTE
DESCRIPTION
PRIORITY
PRIORITY
REVISION
LAST-MODIFIED
SUMMARY
SUMMARY
UID
UID
 
Resources
Acknowledgements

Many thanks to Kevin Lym, Vasily Isaenko, and Alexander.Glasman for all their feedback and helping improve this article.

About the Author

C. Enrique Ortiz is a mobile technologist, software architect and developer, and a writer and blogger. He has been author or co-author of many publications, and is an active participant in the Java mobility community and in various Java ME Expert Groups. Enrique holds a B.S. in Computer Science from the University of Puerto Rico and has more than 17 years of software engineering, product development, and management experience.