com.nttdocomo.system
クラス MessageDraft

Object
  |
  +--com.nttdocomo.system.MessageDraft
すべての実装インタフェース:
MailConstants

public final class MessageDraft
extends Object
implements MailConstants

メッセージiアプリの送信用メッセージを定義します。

ネイティブデータへのアクセス機能およびそのXObjectとの関係の基本については、 XObjectクラスの説明を参照してください。

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

メッセージを新規に作成し、送信するためには、 コンストラクタによりMessageDraftオブジェクトを生成します。 生成したオブジェクトに対して宛先等の設定、取得、および MessageAgent.send(MessageDraft) メソッドによる送信を行うことができます。 送信の成否にかかわらず、 送信に使用したMessageDraftオブジェクトの状態は変化しません。

通常、宛先アドレスの指定は、 通常文字列(の配列)またはXStringの文字列1つのいずれかです。 しかし、再送信または返信メッセージの場合に限って、 宛先アドレスとしてXStringの配列が設定されることがあります。 この3つの指定方法は排他的であり、いずれか1つの方法でしか指定できません。 ある方法で指定を行うと、その他の方法での指定はすべて無効になります。 XStringの配列は、 再送信または返信メッセージを生成することにより自動的に生成されます。 その編集は、配列の要素であるアドレスの削除のみ可能です。

メッセージの本文およびバイナリデータをコンストラクタおよびset系メソッドで設定することができますが、 そのサイズチェックは個々の本文またはバイナリデータに対してのみ行われ、 全体のサイズのチェックは行われません。 全体のサイズチェックは、 MessageAgent.send(MessageDraft) メソッドにより行われます。

導入されたバージョン:
DoJa-3.0
関連項目:
MessageAgent

フィールドの概要
 
インタフェース com.nttdocomo.system.MailConstants から継承したフィールド
ADDRESS_DOMAIN, ADDRESS_FULL, ADDRESS_USER, RECEIVED, SENT, UNSENT
 
コンストラクタの概要
MessageDraft()
          送信用のメッセージを生成します。
MessageDraft(Message message, boolean all)
          返信用または再送信用のメッセージを生成します。
MessageDraft(String subject, String[] addresses, String body, byte[] data)
          送信用のメッセージを生成します。
MessageDraft(String subject, XString address, String body, byte[] data)
          送信用のメッセージを生成します。
 
メソッドの概要
 void addRecipient(String address)
          宛先アドレス(通常文字列)を追加します。
 String getBody()
          ボディ(通常文字列)を取得します。
 byte[] getData()
          メッセージiアプリ固有のバイナリデータを取得します。
 String[] getRecipients()
          宛先アドレス(通常文字列)を取得します。
 String getSubject()
          サブジェクト(通常文字列)を取得します。
 XString getXRecipient()
          宛先アドレス(XString)を取得します。
 XString[] getXRecipients()
          宛先アドレス(XStringの配列)を取得します。
 void removeXRecipient(XString address)
          宛先アドレス(XStringの配列)の1つを削除します。
 void setBody(String body)
          ボディ(通常文字列)を設定します。
 void setData(byte[] data)
          メッセージiアプリ固有のバイナリデータを設定します。
 void setRecipient(XString address)
          宛先アドレス(XString)を設定します。
 void setRecipients(String[] addresses)
          宛先アドレス(通常文字列)を設定します。
 void setSubject(String subject)
          サブジェクト(通常文字列)を設定します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MessageDraft

public MessageDraft()
送信用のメッセージを生成します。
MessageDraft(null, null, null, null)と同じです。


MessageDraft

public MessageDraft(String subject,
                    String[] addresses,
                    String body,
                    byte[] data)
送信用のメッセージを生成します。

各引数にはnullや長さ0の配列を指定することができます。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
addresses - 宛先アドレス(通常文字列)を配列で指定します。
body - 本文(通常文字列)を指定します。
data - メッセージiアプリ固有のバイナリデータを指定します。
例外:
NullPointerException - addressesがnullでない場合に、 配列の要素中にnullの要素が指定されている場合に発生します。
IllegalArgumentException - 端末がサポートしている数以上のメールアドレスを指定した場合に 発生します。
IllegalArgumentException - 引数 subject、addresses、body, dataの内容のいずれかが、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。

MessageDraft

public MessageDraft(String subject,
                    XString address,
                    String body,
                    byte[] data)
送信用のメッセージを生成します。

各引数にはnullや長さ0の配列を指定することができます。

パラメータ:
subject - サブジェクト(通常文字列)を指定します。
address - 宛先アドレス(XString)を指定します。
body - 本文(通常文字列)を指定します。
data - メッセージiアプリ固有のバイナリデータを指定します。
例外:
IllegalArgumentException - 引数 subject、address、body, dataの内容のいずれかが、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。

MessageDraft

public MessageDraft(Message message,
                    boolean all)
返信用または再送信用のメッセージを生成します。

引数に送信または未送信メッセージを指定した場合、 再送信用のメッセージを生成します。 指定された送信または未送信メッセージと同一の内容 (宛先アドレス、サブジェクト、本文、バイナリデータ)を設定します。
すなわち、 メッセージiアプリのメッセージ送信機能により作成(保存)された 送信および未送信メッセージについては、 そのメッセージiアプリでの作成状況に応じて、 通常文字列またはXStringまたはXString配列の宛先アドレスが設定されています (送信時のオブジェクトが復元されたように見えます)。
メッセージiアプリ以外により作成されたメッセージの場合、 XString配列の宛先アドレスが設定されています。
未送信メッセージから生成したメッセージの送信が成功した場合、 元の未送信メッセージは削除されます。

引数に受信メッセージを指定した場合、返信用のメッセージを生成します。 宛先アドレスを除いて、指定された受信メッセージと同一の内容 (サブジェクト、本文、バイナリデータ)を設定します。 引数 all が false の場合、 受信メッセージの差出人アドレスをXStringの宛先アドレスとして設定します。 引数 all が true の場合、設定される宛先アドレスはXStringの配列です。 この場合、配列の先頭の要素が受信メッセージの差出人アドレスであり、 続く配列の要素が受信メッセージの先頭の宛先アドレス(存在する場合)になります。

パラメータ:
message - メッセージを指定します。
all - 受信メッセージの宛先アドレスも含めて返信する場合、 true を指定します。 差出人アドレスへの返信のみの場合、 false を指定します。 送信および未送信メッセージに対しては無視されます。
例外:
NullPointerException - 引数 message が null の場合に発生します。
メソッドの詳細

getSubject

public String getSubject()
サブジェクト(通常文字列)を取得します。

戻り値:
サブジェクトを返します。 設定されていない場合、nullを返します。

setSubject

public void setSubject(String subject)
サブジェクト(通常文字列)を設定します。

パラメータ:
subject - サブジェクトを指定します。 nullを指定するとサブジェクトが削除されます。
例外:
IllegalArgumentException - 引数 subject の内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。

getRecipients

public String[] getRecipients()
宛先アドレス(通常文字列)を取得します。

戻り値:
宛先アドレスを返します。 宛先アドレス(通常文字列)が設定されていない場合、nullを返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

setRecipients

public void setRecipients(String[] addresses)
宛先アドレス(通常文字列)を設定します。
このメソッドを呼び出すと、 XStringおよびXStringの配列で設定されていた宛先アドレスはすべて破棄されます。

パラメータ:
addresses - 宛先アドレスを指定します。 nullや長さ0の配列を指定すると宛先アドレスが削除されます。
例外:
NullPointerException - addressesがnullでない場合に、 配列の要素中にnullの要素が指定されている場合に発生します。
IllegalArgumentException - 端末がサポートしている数以上のメールアドレスを指定した場合に 発生します。
IllegalArgumentException - 引数 addresses の内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に発生します。

addRecipient

public void addRecipient(String address)
宛先アドレス(通常文字列)を追加します。

パラメータ:
address - 宛先アドレスを指定します。
例外:
IllegalStateException - 端末がサポートしている最大数のメールアドレスが 既に設定されている場合に発生します。
NullPointerException - addressがnullの場合に発生します。
IllegalArgumentException - 引数 address の内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に発生します。
IllegalStateException - 既に宛先アドレス(XStringおよびXStringの配列)が 設定されている場合に発生します。

getXRecipient

public XString getXRecipient()
宛先アドレス(XString)を取得します。

戻り値:
宛先アドレスを返します。 宛先アドレス(XString)が設定されていない場合、nullを返します。

setRecipient

public void setRecipient(XString address)
宛先アドレス(XString)を設定します。
このメソッドを呼び出すと、 通常文字列およびXStringの配列で指定されていた宛先アドレスはすべて破棄されます。

パラメータ:
address - 宛先アドレスを指定します。 nullを指定すると宛先アドレスが削除されます。
例外:
IllegalArgumentException - 引数 address の内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に発生します。

getXRecipients

public XString[] getXRecipients()
宛先アドレス(XStringの配列)を取得します。

XStringの配列の宛先アドレスが設定されているのは、 返信および再送信用メッセージにのみありえます。 取得および削除のみ可能であり、設定および追加することはできません。

戻り値:
宛先アドレスを返します。 宛先アドレス(XStringの配列)が設定されていない場合、nullを返します。 返される配列は、 このオブジェクトが内部で保持している配列のシャローコピーです。

removeXRecipient

public void removeXRecipient(XString address)
宛先アドレス(XStringの配列)の1つを削除します。
getXRecipients() の戻り値に含まれる XString オブジェクトと同一のインスタンスが指定された場合にのみ削除することができます。 nullやそれ以外のXStringを指定しても無視されます。

パラメータ:
address - 削除する宛先アドレスを指定します。

getBody

public String getBody()
ボディ(通常文字列)を取得します。

戻り値:
ボディを返します。 設定されていない場合、nullを返します。

setBody

public void setBody(String body)
ボディ(通常文字列)を設定します。

パラメータ:
body - ボディを指定します。 nullを指定するとボディが削除されます。
例外:
IllegalArgumentException - 引数 bodyの内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。

getData

public byte[] getData()
メッセージiアプリ固有のバイナリデータを取得します。

戻り値:
バイナリデータを返します。 設定されていない場合、nullを返します。 MessageDraft(Message msg, boolean all) により生成されたオブジェクトの場合、 生成直後はmsg.getData()の内容と同じです。 すなわち、参照したメッセージにバイナリデータが存在しなければnullであり、 バイナリデータの内容が空であれば長さ0の配列を返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

setData

public void setData(byte[] data)
メッセージiアプリ固有のバイナリデータを設定します。

パラメータ:
data - バイナリデータを指定します。 null を指定した場合、設定が削除されます。
例外:
IllegalArgumentException - 引数 dataの内容が、 メッセージiアプリのメッセージの仕様に準拠していない場合に 発生します。 任意のバイナリデータが設定可能のため、 実際にはサイズ超過の違反のみが該当します。


NTT DoCoMo,Inc.

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

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

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