Class and interface description

This chapterlists the implementation specifics of Wireless Messaging API at package level.

The following general clarification is made towards JSR-205 client connection’s scope:

Symbian implementation supports sending of messages not only to the address specified when creating the client connection, but to other recipients as well. These recipients might be added after creating the client connection. This clarification applies to the following paragraph:

"If the application specifies a full destination address that defines a recipient to the Connector, it gets a MessageConnection that works in a “client” mode”. This kind of Connection can only be used for sending messages to the address specified when creating it."

(Chapter 1, Sending and receiving messages JSR-205 API specification)

The Series 40 implementation supports sending of SMS messages to the address specified when creating the client connection only, but sending of MMS to multiple addresses.

javax.microedition.io.Connector

This class is supported as specified in JSR-205, with the following clarification for the following method:

open(String name, int mode, Boolean timeouts)

Parameter name

Parameter values

Clarification

timeouts

Boolean

The value of this parameter is not taken into account by Symbian or Series 40 implementation : the implementation always throws InterruptedIOExceptions in case of timeouts.

javax.wireless.messaging.BinaryMessage

This class is supported as specified in JSR-205.

javax.wireless.messaging.Message

This class is supported as specified in JSR-205, with the following exception for Symbian:

  • getTimestamp() always returns null in the Symbian implementation.

javax.microedition.messaging.MessageConnection

In the Symbian implementation this class is supported as specified in JSR-205, with the following clarifications for the following methods:

newMessage(String type)

newMessage(String address, String type)

Parameter name

Parameter values

type

Can be one of the following:

  • MULTIPART_MESSAGE

  • TEXT_MESSAGE

  • BINARY_MESSAGE

send(Message)

In the Symbian implementation this is implemented as a blocked call and returns either after the Message has been sent or a 1-minute time-out occurred, in which case an InterruptedIOException is thrown.

In the Series 40 implementation this is implemented as a blocked call and returns after the message has been sent. The Series 40 implementation does not use time-outs.

javax.wireless.messaging.MessageListener

In the Symbian implementation this class is supported as specified in JSR-205 with the following clarification: MessageListener MUST not call receive() directly, as this will result in a blocking operation. Instead, it can start a new thread which will receive the message or call another method of the application (which is outside of the listener) that will call receive() in a new thread.

In the Series 40 implementation this class is supported as specified in JSR-205.

javax.wireless.messaging.MessagePart

This class is supported as specified by JSR-205, with the following clarifications for the following methods:

MessagePart(byte[] contents, int offset, int length, java.lang.String mimeType, java.lang.String contentId, java.lang.String contentLocation, java.lang.String enc)

MessagePart(byte[] contents, java.lang.String mimeType, java.lang.String contentId, java.lang.String contentLocation,java.lang.String enc)

MessagePart(java.io.InputStream is, java.lang.String mimeType, java.lang.String contentId, java.lang.String contentLocation, java.lang.String enc)

Parameter name

Parameter values

Clarification

enc

The encoding scheme for the MessagePart

The Symbian implementation allows the following String values for the encoding:

  • ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-2022-JP, ISO-2022-KR,

  • UTF-8, UTF-16 in the following forms:

    • UTF-16

    • UTF-16BE

    • UTF-16LE

  • UCS-2, identified also as “ISO-10646-UCS-2” ,

  • HZ-GB-2312, GB_2312-80, Big5, Big5-HKSCS, Shift_JIS, EUC-JP, EUC-KR , KOI8-R, KOI8-U

  • windows-936, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258

In the Series 40 implementation, if enc is set to null, no encoding is used. The encoding scheme that the Series 40 implementation uses is determined by the product. Series 40 uses the native character set library supported by the product.

contentLocation

 

The Series 40 platform allows any character from 0x32 to 0x7E.

javax.wireless.messaging.MultipartMessage

This class is supported as specified by JSR-205, with the following method clarification:

setAddress(String address)

Parameter name

Parameter values

Clarification

address

The JSR-205 states that address may be set to null

This call is interpreted as a blind call; the previously set addresses (if any) remain unmodified.

All devices support the bcc field for MultipartMessages.

javax.wireless.messaging.SizeExceededException

This class is supported as specified in JSR-205 with no further clarifications.

javax.wireless.messaging.TextMessage

This class is supported as specified in JSR-205.