com.nttdocomo.system
クラス MessageDraft

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

public final class MessageDraft
extends Object
implements MailConstants

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

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

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

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

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

導入されたバージョン:
DoJa-3.0 (505i)
関連項目:
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アプリのメッセージ送信機能により作成(保存)された 送信および未送信メッセージについては、 そのメッセージiアプリでの作成状況に応じて、 通常文字列またはXStringまたはXString配列の宛先アドレスが設定されています (送信時のオブジェクトが復元されたように見えます)。
メッセージiアプリ以外により作成されたメッセージの場合、 XString配列の宛先アドレスが設定されています。
未送信メッセージから生成したメッセージの送信が成功した場合、 元の未送信メッセージは削除されます。

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

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

getSubject

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

戻り値:
サブジェクトを返します。 設定されていない場合、nullを返します。
再送信用メッセージの場合、生成直後は MessageSent.getSubject() の内容と同じです。 返信用メッセージの場合、生成直後は MessageReceived.getSubject() の内容と同じです。

setSubject

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

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

getRecipients

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

戻り値:
宛先アドレスを返します。 宛先アドレス(通常文字列)が設定されていない場合、nullを返します。
再送信用メッセージの場合、生成直後は MessageSent.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を返します。
再送信用メッセージの場合、生成直後は MessageSent.getXRecipient(ADDRESS_FULL) の内容と同じです。 返信用メッセージの場合、生成直後は、 引数 all が false であった場合は受信メッセージの差出人アドレス(XString)を返します。 引数 all が true であった場合は null を返します。

setRecipient

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

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

getXRecipients

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

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

戻り値:
宛先アドレスを返します。 宛先アドレス(XStringの配列)が設定されていない場合、nullを返します。
再送信用メッセージの場合、生成直後は MessageSent.getXRecipients(ADDRESS_FULL) の内容と同じです。 返信用メッセージの場合、生成直後は、 引数 all が false であった場合は null を返します。 引数 all が true であった場合は、 先頭の要素が受信メッセージの差出人アドレスで、 続く要素が受信メッセージの宛先アドレス(存在する場合) の配列(XStringの配列)を返します。
返される配列は、 このオブジェクトが内部で保持している配列のシャローコピーです。

removeXRecipient

public void removeXRecipient(XString address)IllegalStateException - 譌「縺ォ螳帛