Class and interface description

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

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

The S60 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 S40 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 the S60 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.

javax.microedition.messaging.MessageConnection

In the S60 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

Clarification

type

MULTIPART_MESSAGE

The S60 implementation allows only the creation of MULTIPART_MESSAGE through a MMS-type of connection, due to the following reasons:·

  • TEXT_MESSAGE | BINARY_MESSAGE are SMS-specific messages whereas MULTIPART_MESSAGE is an MMS-specific message.

  • JSR-205 does not allow the sending of any other type of messages than MULTIPART_MESSAGEs through an MMS-type of connection

send(Message)

In the S60 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 S60 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 S60 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.

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.

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.