Runtime environment notes

System properties

PIM API has one system property:

String

Description

microedition.pim.version

Returns the version string if PIM API is supported on the device. Otherwise returns null.

Names of internationalized resources

The labels of supported features, described in the Class and Interface Description section, and list names are localized.

The methods PIMList.getFieldLabel(), PIMList.getAttributeLabel(), PIMList.getArrayElementLabel(), and PIMList.getName() are used for obtaining these localized labels.

Security settings

Security vulnerable operations in PIM API belong to two function groups:

  • Read User Data Access

  • Write User Data Access

All methods which may throw a SecurityException (according to the API specification) are considered security vulnerable. Permission to access any security vulnerable operation are checked on every invocation.

Note:

If a database is opened as READ and an attempt to write is executed, a SecurityException is thrown.

The following table describes the security policy for the PIM API related function groups in devices that support the Nokia security policy (since Series 40 6th Edition Feature Pack 1):

Table: The security policy for the PIM API related function groups

Function group

Identified Third Party Protection domain

Unidentified Third Party Protection domain

Read User Data Access

Default setting: Session

Other settings: Blanket, Oneshot, No

Default setting: Oneshot

Other settings: Session, No

Write User Data Access

Default setting: Session

Other settings: Blanket, Oneshot, No

Default setting: Oneshot

Other settings: Session, No

The following table describes the security policy for the PIM API related function group in devices that support the MSA security policy:

Table: The security policy for the PIM API related function groups

Function group

Identified Third Party Protection domain

Unidentified Third Party Protection domain

Read User Data Access

Default setting: Oneshot

Other settings: Blanket, Session, No

Default setting: Oneshot

Other settings: No

Write User Data Access

Default setting: Oneshot

Other settings: Blanket, Session, No

Default setting: Oneshot

Other settings: No

Explanation for the table values are as follows:

  • "Blanket" is valid for every invocation of an API by a MIDlet suite until it is uninstalled or the permission is changed by the user.

  • "Session" is valid from the invocation of a MIDlet suite until it terminates. The user is prompted on or before the first invocation of the protected API or function. When the user re-invokes the MIDlet suite the prompt is repeated.

  • "Oneshot" means that the user is prompted every time when the API or a protected function is invocated.

  • "No" means that the MIDlet can’t access the protected function at all.

Note:

When a security prompt is presented to the user, the MIDlet suite name is not included in the dialog text.

Prompts for function calls in Series 40

Series 40 generates a prompt for each of the following protected PIM method invocations:

javax.microedition.pim.PIMList methods:
items()
items(PIMItem)
items(java.lang.String)

javax.microedition.pim.PIMItem methods:
commit

javax.microedition.pim.EventList methods:
items

javax.microedition.pim.EventList methods:
removeEvent

javax.microedition.pim.ContactList methods:
removeContact

Note that opening or listing PIM lists (using PIM.openPIMList or PIM.listPIMLists) does not result in an explicit user authorization request to allow the MIDlet to read or write to the list. In this case authorization is given according to the MIDlet access rights only.