com.docomostar.system
クラス MessageAgent

Object
  上位を拡張 com.docomostar.system.MessageAgent
すべての実装されたインタフェース:
MailConstants

public final class MessageAgent
extends Object
implements MailConstants

メッセージStar アプリのネイティブ機能にアクセスする手段を提供します。

メッセージの取得および送信機能を提供します。

メッセージ機能では、 メッセージの取得や送信を行うクラスと メッセージそのものを表すクラスが区別されています。 このクラスはメッセージの取得や送信を行いますが、 メッセージそのものはMessageクラスのサブクラス またはMessageDraftクラスのオブジェクトとして表されます。

このメッセージStar アプリに割り当てられた 受信フォルダ、送信フォルダ、未送信フォルダのみに対して、 メッセージの取得などの操作が可能です。 各フォルダ中のメッセージは、 送受信日時の新しい順にソートされており、 最新のメッセージが先頭にあります。
各メッセージにはそれぞれのフォルダ中で一意であり、 そのフォルダから削除されるまで変更されることのないIDが付与されています。 getIds(int, boolean)メソッドにより、 取得するフォルダを指定して、各メッセージのIDを取得することができます。 getMessage(int, int)メソッドにより、 取得するフォルダおよびメッセージのIDを指定して メッセージを取得することができます。

取得されたメッセージ(MessageReceivedまたは MessageSentオブジェクト)には、 サブジェクト(通常文字列)、 メッセージ本文(通常文字列)、 送受信日時(通常文字列として取得可能)、 既読・未読情報、 宛先アドレス(通常文字列またはXString)、 差出人アドレス(XString)、 差出人アドレスの電話帳エントリのID、 メッセージ Star アプリ固有のバイナリデータが設定されています。

メッセージを送信するためには、 send(String, String[], String, byte[])メソッドまたは send(String, XString, String, byte[])メソッドを直接呼び出すか、 MessageDraftオブジェクトに対して宛先等を設定して send(MessageDraft)メソッドを呼び出します。 送信の成否にかかわらず、 送信に使用したMessageDraftオブジェクトの状態は変化しません。

MessageDraftクラスのコンストラクタ MessageDraft(Message, boolean)により、 受信フォルダから取得したメッセージから返信用メッセージを作ることができます。
また、同じくMessageDraftクラスのコンストラクタ MessageDraft(Message, boolean)により、 送信および未送信フォルダから取得したメッセージから 再送信用のメッセージを作ることができます。
送信および未送信フォルダから取得したメッセージは、 send(MessageSent)メソッドにより、 直接再送信することもできます。
未送信フォルダから取得したメッセージの送信が成功した場合、 元の未送信メッセージは削除されます。

空文字列の宛先アドレスは、メッセージStar アプリのメッセージの仕様に準拠していないとみなされます。

メッセージ本文中には、 改行文字 ( 単独の "\r"、単独の "\n"、 または "\r\n")や、 タブ文字 ("\t") を含めることが可能です。

send メソッドが呼び出された直後に以下が行われ、その後に送信処理が行われます。

ミニマムスペック:
ミニマムスペックでは、5つまでの宛先アドレスに送信することができます。

導入されたバージョン:
Star-1.0
関連項目:
Message, MessageSent, MessageReceived, MessageDraft

フィールドの概要
 
インタフェース com.docomostar.system.MailConstants から継承されたフィールド
ADDRESS_DOMAIN, ADDRESS_FULL, ADDRESS_USER, RECEIVED, SENT, UNSENT
 
メソッドの概要
static void delete(int type, int id)
           メッセージを削除します。
static int[] getIds(int type, boolean unseen)
          メッセージフォルダ中のメッセージのIDを取得します。
static Message getMessage(int type, int id)
          メッセージを取得します。
static int getRemainingBytes(MessageDraft message) [iアプリオプションAPI]
          メッセージ全体に設定できる残りバイト数を返します。
static boolean isSeen(int id)
          受信メッセージの既読・未読情報を取得します。
static boolean send(MessageDraft message)
           メッセージを送信します。
static boolean send(MessageSent message)
           メッセージを再送信します。
static boolean send(String subject, String[] addresses, String body, byte[] data)
           メッセージを送信します。
static boolean send(String subject, XString address, String body, byte[] data)
           メッセージを送信します。
static void setSeen(int id, boolean seen)
          受信フォルダのメッセージの既読・未読情報を設定します。
static int size(int type, boolean unseen)
          メッセージフォルダ中のメッセージの数を取得します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

size

public static int size(int type,
                       boolean unseen)
メッセージフォルダ中のメッセージの数を取得します。 受信フォルダに対しては、未読メッセージのみの数の取得が可能です。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVED、 SENT、 UNSENT のいずれかを指定します。
unseen - 受信フォルダからのメッセージ数の取得において、 未読メッセージのみの数を取得する場合、true を指定します。 false を指定した場合には、すべてのメッセージの数が取得されます。 送信および未送信フォルダに対しては、この引数は無視されます。
戻り値:
フォルダ中のメッセージ数を返します。
例外:
IllegalArgumentException -
引数 type の値が不正な場合に発生します。
SecurityException -
メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 指定フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

getIds

public static int[] getIds(int type,
                           boolean unseen)
メッセージフォルダ中のメッセージのIDを取得します。 受信フォルダに対しては、すべてのメッセージのIDの取得だけでなく、 未読メッセージのみのIDの取得が可能です。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVED、 SENT、 UNSENT のいずれかを指定します。
unseen - 受信フォルダからのメッセージIDの取得において、 未読メッセージのみのIDを取得する場合、true を指定します。 false を指定した場合には、すべてのメッセージのIDが取得されます。 送信および未送信フォルダに対しては、この引数は無視されます。
戻り値:
フォルダ中のすべてのメッセージのIDを返します。 先頭から送受信日時の新しい順番に、 メッセージのIDが設定されています。 メッセージが存在しない場合には、長さ 0 の配列が返ります。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。
例外:
IllegalArgumentException -
引数 type の値が不正な場合に発生します。
SecurityException -
メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 指定フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

getMessage

public static Message getMessage(int type,
                                 int id)
メッセージを取得します。

受信フォルダより取得されたメッセージ (MessageReceivedオブジェクト)には、 サブジェクト(通常文字列)、 メッセージ本文(通常文字列)、 受信日時(通常文字列として取得可能)、 既読・未読情報、 宛先アドレス(XString)、 差出人アドレス(XString)、 差出人アドレスの電話帳エントリのID、 メッセージ Star アプリ固有のバイナリデータが設定されています。

送信および未送信フォルダより取得されたメッセージ (MessageSentオブジェクト)には、 サブジェクト(通常文字列)、 メッセージ本文(通常文字列)、 送信日時(通常文字列として取得可能)、 宛先アドレス(通常文字列またはXStringまたはXStringの配列)、 メッセージ Star アプリ固有のバイナリデータが設定されています。

このメソッドによりメッセージを取得しても、既読・未読情報は変化しません。 既読・未読情報を変更するためには、 setSeenメソッドを使用します。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 取得するメッセージのフォルダ種別を指定します。 RECEIVED、 SENT、 UNSENT のいずれかを指定します。
id - 取得するメッセージのIDを指定します。
戻り値:
取得したメッセージを返します。
例外:
IllegalArgumentException -
引数 type の値が不正な場合に発生します。
IllegalArgumentException -
引数 id に指定したIDのメッセージが存在しない場合に発生します。
SecurityException -
メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 指定フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

send

public static boolean send(String subject,
                           String[] addresses,
                           String body,
                           byte[] data)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。 宛先アドレスを除く各引数には、 nullや長さ0の配列を指定することができます。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
addresses - 宛先アドレス(通常文字列)を配列で指定します。
body - メッセージ本文(通常文字列)を指定します。
data - メッセージ Star アプリ固有のバイナリデータを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
NullPointerException -
引数 addresses が null または、 配列中に null の要素があった場合に発生します。
IllegalArgumentException -
実装がサポートしている数以上のメールアドレスを指定した場合に 発生します。
IllegalArgumentException -
引数 subject、addresses、body、data の内容のいずれかが、 メッセージStar アプリのメッセージの仕様に準拠していない場合に発生します。
IllegalArgumentException -
メッセージ全体のサイズが メッセージStar アプリのメッセージの仕様上の制限を超過している 場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException -
(STORE_FULL)
送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。
MailException -
User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException -
競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(String subject,
                           XString address,
                           String body,
                           byte[] data)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。 宛先アドレスを除く各引数には、 nullや長さ0の配列を指定することができます。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。

メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
address - 宛先アドレス(XString)を指定します。
body - メッセージ本文(通常文字列)を指定します。
data - メッセージ Star アプリ固有のバイナリデータを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
NullPointerException -
引数 address が null の場合に発生します。
IllegalArgumentException -
引数 subject、address、body、data の内容のいずれかが、 メッセージStar アプリのメッセージの仕様に準拠していない場合に発生します。
IllegalArgumentException -
メッセージ全体のサイズが メッセージStar アプリのメッセージの仕様上の制限を超過している場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException -
(STORE_FULL)
送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。
MailException -
User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException -
競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(MessageDraft message)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを送信します。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

メッセージフォルダのリスナが登録されている場合は、 送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
message - 送信するメッセージを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
NullPointerException -
引数 message が null の場合に発生します。
IllegalArgumentException -
送信するメッセージの宛先アドレスが指定されていない場合に 発生します。
IllegalArgumentException -
[Star-1.2 以降] 引数 message に指定された MessageDraftのサブジェクト、宛先アドレス、 メール本文、メッセージ Star アプリ固有のバイナリデータの内容のいずれかが、 メッセージ Star アプリのメッセージの仕様に準拠していない場合に発生します。
IllegalArgumentException -
メッセージ全体のサイズが メッセージStar アプリのメッセージの仕様上の制限を超過している場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException -
(STORE_FULL)
送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。
MailException -
User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException -
競合条件などにより、送信操作が異常終了した場合に発生します。

send

public static boolean send(MessageSent message)
                    throws MailException,
                           InterruptedOperationException,
                           StoreException

メッセージを再送信します。 送信および未送信フォルダから取得したメッセージを再送信します。
送信フォルダから取得したメッセージを再送信する場合は、 元の送信メッセージを残したまま、同じ内容のメールを新規に送信します。 一方、未送信フォルダから取得したメッセージを再送信する場合は、 元の未送信メッセージを削除して、同じ内容のメールを新規に送信します。

送信処理においてサーバが正常応答を返した場合、true を返します。 送信処理中にサーバがエラーを返した場合、MailExceptionをスローします。 それ以外の場合(iモード発信規制中の場合など)には、false を返します。 宛先が複数の場合、いずれかの宛先へのメッセージの送信に失敗した場合、 その失敗の原因に応じて例外を発生またはfalseを返します。 すべての宛先への送信が成功した場合、true を返します。

メッセージフォルダのリスナが登録されている場合は、 再送信結果に応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。 このメソッドを呼び出すとサスペンドします。

パラメータ:
message - 送信するメッセージを指定します。
戻り値:
送信が完了した場合、true を返します。 それ以外の場合、false を返します。
例外:
NullPointerException -
引数 message が null の場合に発生します。
IllegalArgumentException -
引数 message のメッセージの宛先アドレスが指定されていない場合に発生します。
IllegalArgumentException -
メッセージ全体のサイズが メッセージStar アプリのメッセージの仕様上の制限を超過している場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 メッセージを送信できない場合に発生します。
StoreException -
(STORE_FULL)
送信または未送信フォルダにメッセージを追加できないため、 メッセージを送信できない場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。
MailException -
User Unknownなどにより サーバ側からメッセージ送信を拒否された場合に発生します。
InterruptedOperationException -
競合条件などにより、送信操作が異常終了した場合に発生します。

delete

public static void delete(int type,
                          int id)

メッセージを削除します。

メッセージフォルダのリスナが登録されている場合は、 削除したメッセージのフォルダに応じてリスナオブジェクトのメソッドが呼び出されます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
type - 削除するメッセージのフォルダ種別を指定します。 RECEIVED、 SENT、 UNSENT のいずれかを指定します。
id - 削除するメッセージのIDを指定します。
例外:
IllegalArgumentException -
引数 type の値が不正な場合に発生します。
IllegalArgumentException -
引数 id に指定したメッセージが存在しない場合に発生します。
SecurityException -
メールロックにより、 指定フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブの保護機能により、 メッセージが削除できない場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 指定フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

setSeen

public static void setSeen(int id,
                           boolean seen)
受信フォルダのメッセージの既読・未読情報を設定します。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
id - 受信メッセージのIDを指定します。
seen - 指定されたIDのメッセージが存在した場合、 true を指定するとそのメッセージが未読状態ならば既読状態になります。 同じく指定されたIDのメッセージが存在した場合、 false を指定しても状態は変更されません。
例外:
IllegalArgumentException -
引数 id に指定したメッセージが存在しない場合に発生します。
SecurityException -
メールロックにより、 受信フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 受信フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

isSeen

public static boolean isSeen(int id)
受信メッセージの既読・未読情報を取得します。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

パラメータ:
id - 受信メッセージのIDを指定します。
戻り値:
既読の場合 true を、未読の場合 false を返します。
例外:
IllegalArgumentException -
引数 id に指定したIDのメッセージが存在しない場合に発生します。
SecurityException -
メールロックにより、 受信フォルダへのアクセスが拒否された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 受信フォルダへのアクセスが拒否された場合に発生します。
IllegalStateException -
UIM 読み込み中の場合に発生します。

getRemainingBytes

public static int getRemainingBytes(MessageDraft message) [iアプリオプションAPI]
メッセージ全体に設定できる残りバイト数を返します。

引数に指定されたメッセージについて、 メッセージ本文を正規化し、 メッセージ本文とメッセージ Star アプリ固有のバイナリデータを 1 つのデータとするメッセージ Star アプリ形式に整形した後のメッセージ全体のバイト数を計算し、 その値とメッセージ Star アプリ仕様上のメッセージ全体の最大バイト数とを比較して、 メッセージ全体の残りに設定できるバイト数を返します。 ただし、このメソッドは実際にメッセージ本文の正規化処理、整形処理を行うわけではありません。 実際の正規化処理、整形処理は send(MessageDraft) 時に行われます。

パーミッションとしてメッセージiアプリが許可されている トラステッドStar アプリのみこのメソッドを呼び出すことができます。

端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

パラメータ:
message - 送信用のメッセージを指定します。
戻り値:
残りバイト数を返します。 整形後のメッセージ全体のバイト数が最大バイト数を超過している場合は、 超過分のバイト数が負数で返ります。
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException -
引数 message が null の場合に発生します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。