org.unitedfront2.domain.communication
クラス Mail

java.lang.Object
  上位を拡張 org.unitedfront2.domain.communication.Mail
すべての実装されたインタフェース:
Serializable, Domain, Identifiable<Mail>, Storable

public class Mail
extends Object
implements Identifiable<Mail>, Storable, Serializable, Domain

メールクラスです。メールは1対1のコミュニケーション用のツールです。親メールに対して返信していくことで、リスト 構造を持つ一連のメール群を形成できます。これをメールのスレッドと呼びます。

作成者:
kurokkie
関連項目:
直列化された形式

フィールドの概要
static int GENERATED_CODE_LENGTH
          ランダムで生成されるときのコードの長さ (32)
protected  Log logger
          ログ
 
コンストラクタの概要
Mail()
           
Mail(Integer toId, Integer fromId, String subject, String body)
           
Mail(Integer id, String code, Integer toId, Integer fromId, String subject, String body, Date sentDate, boolean read)
           
 
メソッドの概要
 List<Mail> asList()
          メールスレッドを親から順のリストとして返します。
 List<Mail> asListDesc()
          メールスレッドを子から順のリストとして返します。
 boolean equals(Object other)
           
 String getBody()
           
 String getCode()
           
 int getCount()
          スレッド内のメール数を取得します。
 SimpleUser getFrom()
           
 Integer getFromId()
           
 Integer getId()
           
 Mail getNext()
           
 Date getSentDate()
           
 String getSubject()
           
 Mail getTail()
          末端に位置するサブメールを返します。
 SimpleUser getTo()
           
 Integer getToId()
           
 String getToMailAddr()
           
 int hashCode()
           
 boolean hasUnread(int toId)
          メールスレッド中に未読メールがあるかどうか判定します。
 boolean identify(Mail other)
          引数に指定したドメインオブジェクトが、このドメインオブジェクトと同一であるかどうかを判定します。
 boolean isRead()
           
 SimpleUser other(User user)
          user にとっての通信相手を返します。
 void read(int userId)
          このメールが ${userId} 宛の場合、このメールを既読にします。
 void readAll(int userId)
          このメールスレッド中の全ての ${userId} 宛のメールを既読にします。
 void retrieveFrom()
          ${this.fromId} が設定されていれば、${this.from} に値を設定します。
 void retrieveTo()
          ${this.toId} が設定されていれば、${this.to} に値を設定します。
 void retrieveToMailAddr()
          宛先ユーザのメールアドレスを復元します。
static void retrieveUsers(List<Mail> mails)
          宛先と差出人のユーザオブジェクトを復元します。
 void send()
          このメールを送信します。
 void send(int parentId)
          メールを返信します。
 void setAccountTable(AccountTable accountTable)
           
 void setBody(String body)
           
 void setCode(String code)
           
 void setFrom(SimpleUser from)
           
 void setFromId(Integer fromId)
           
 void setId(Integer id)
           
 void setMailDao(MailDao mailDao)
           
 void setNext(Mail next)
           
 void setRead(boolean read)
           
 void setSentDate(Date sentDate)
           
 void setSimpleUserTable(SimpleUserTable simpleUserTable)
           
 void setSubject(String subject)
           
 void setTo(SimpleUser to)
           
 void setToId(Integer toId)
           
 void setToMailAddr(String toMailAddr)
           
 void store()
          send() と同様の処理です。
 String toString()
           
 void unread(int userId)
          このメールが ${userId} 宛の場合、このメールを未読にします。
 void unreadAll(int userId)
          このメールスレッド中の全ての ${userId} 宛のメールを未読にします。
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

GENERATED_CODE_LENGTH

public static final int GENERATED_CODE_LENGTH
ランダムで生成されるときのコードの長さ (32)

関連項目:
定数フィールド値

logger

protected final transient Log logger
ログ

コンストラクタの詳細

Mail

public Mail()

Mail

public Mail(Integer toId,
            Integer fromId,
            String subject,
            String body)

Mail

public Mail(Integer id,
            String code,
            Integer toId,
            Integer fromId,
            String subject,
            String body,
            Date sentDate,
            boolean read)
メソッドの詳細

retrieveUsers

public static void retrieveUsers(List<Mail> mails)
宛先と差出人のユーザオブジェクトを復元します。

パラメータ:
mails - メールリスト
'事後条件:'
全てのメールの宛先にユーザオブジェクトが設定される。もし宛先 ID が null なら設定されない, 全てのメールの差出人にユーザオブジェクトが設定される。もし差出人 ID が null なら設定されない

toString

public String toString()
オーバーライド:
クラス Object 内の toString

equals

public boolean equals(Object other)
オーバーライド:
クラス Object 内の equals

hashCode

public int hashCode()
オーバーライド:
クラス Object 内の hashCode

identify

public boolean identify(Mail other)
インタフェース Identifiable の記述:
引数に指定したドメインオブジェクトが、このドメインオブジェクトと同一であるかどうかを判定します。このメソッ ドは、equals メソッドとは異なり、そのドメインオブジェクトを一意に識別できる最小のプ ロパティを用いて同一性を判別します。特に説明がない限り、比較には主キーとなるプロパティが利用されま す。このドメインオブジェクト自身または引数に指定したドメインオブジェクトに主キーが設定されていない場 合、false が返されます。

一般的な実装例を示します。

 public boolean identify(Domain other) {
     if (id == null) {
         return false;
     }
     return id.equals(other.getId());
 }
 

定義:
インタフェース Identifiable<Mail> 内の identify
パラメータ:
other - ドメインオブジェクト
戻り値:
同一であれば true 、そうでなければ false

store

public void store()
send() と同様の処理です。

定義:
インタフェース Storable 内の store
関連項目:
Storable.store()

send

public void send()
このメールを送信します。コードは自動で発行されます。送信日時は現在日時が設定されます。

'事前条件:'
${this.toId} is not null.
'事後条件:'
${this.code} is auto generated., ${this.lastUpdateDate} is current date.

send

public void send(int parentId)
メールを返信します。コードは自動で発行されます。送信日時は現在日時が設定されます。

パラメータ:
parentId - 親メール ID
関連項目:
store()
'事前条件:'
${this.toId} is not null., ${this.fromId} is not null.
'事後条件:'
${this.code} is auto generated., ${this.lastUpdateDate} is current date.

read

public void read(int userId)
このメールが ${userId} 宛の場合、このメールを既読にします。

パラメータ:
userId - 閲覧ユーザの ID
'事後条件:'
このメールが ${userId} 宛の場合、このメールの既読/未読状態がデータベースと同期する

readAll

public void readAll(int userId)
このメールスレッド中の全ての ${userId} 宛のメールを既読にします。

パラメータ:
userId - 閲覧ユーザの ID
'事後条件:'
このメールスレッド中の全ての ${userId} 宛のメールの既読/未読状態がデータベースと同 期する

unread

public void unread(int userId)
このメールが ${userId} 宛の場合、このメールを未読にします。

パラメータ:
userId - 閲覧ユーザの ID
'事後条件:'
このメールが ${userId} 宛の場合、このメールの既読/未読状態がデータベースと同期する

unreadAll

public void unreadAll(int userId)
このメールスレッド中の全ての ${userId} 宛のメールを未読にします。

パラメータ:
userId - 閲覧ユーザの ID
'事後条件:'
このメールスレッド中の全ての ${userId} 宛のメールの既読/未読状態がデータベースと同 期する

hasUnread

public boolean hasUnread(int toId)
メールスレッド中に未読メールがあるかどうか判定します。

パラメータ:
toId - 宛先ユーザ ID
戻り値:
未読のメールがあれば true 、なければ false

getCount

public int getCount()
スレッド内のメール数を取得します。

戻り値:
スレッド内のメール数

asList

public List<Mail> asList()
メールスレッドを親から順のリストとして返します。

戻り値:
メールリスト

asListDesc

public List<Mail> asListDesc()
メールスレッドを子から順のリストとして返します。

戻り値:
メールリスト

getTail

public Mail getTail()
末端に位置するサブメールを返します。サブメールが設定されていない場合は自身が返ります。

戻り値:
末端のメール

other

public SimpleUser other(User user)
user にとっての通信相手を返します。user はこのメールの宛先 または差出人に含まれている必要があります。

パラメータ:
user - ユーザ
戻り値:
通信相手
'事前条件:'
${this.to} not null., ${this.from} not null.

retrieveTo

public void retrieveTo()
${this.toId} が設定されていれば、${this.to} に値を設定します。


retrieveToMailAddr

public void retrieveToMailAddr()
宛先ユーザのメールアドレスを復元します。${this.to} が復元されていなければ復元します。


retrieveFrom

public void retrieveFrom()
${this.fromId} が設定されていれば、${this.from} に値を設定します。


getId

public Integer getId()

setId

public void setId(Integer id)

getCode

public String getCode()

setCode

public void setCode(String code)

getToId

public Integer getToId()

setToId

public void setToId(Integer toId)

getFromId

public Integer getFromId()

setFromId

public void setFromId(Integer fromId)

getSentDate

public Date getSentDate()

setSentDate

public void setSentDate(Date sentDate)

getSubject

public String getSubject()

setSubject

public void setSubject(String subject)

getBody

public String getBody()

setBody

public void setBody(String body)

isRead

public boolean isRead()

setRead

public void setRead(boolean read)

getTo

public SimpleUser getTo()

setTo

public void setTo(SimpleUser to)

getFrom

public SimpleUser getFrom()

setFrom

public void setFrom(SimpleUser from)

getToMailAddr

public String getToMailAddr()

setToMailAddr

public void setToMailAddr(String toMailAddr)

getNext

public Mail getNext()

setNext

public void setNext(Mail next)

setMailDao

public void setMailDao(MailDao mailDao)

setSimpleUserTable

public void setSimpleUserTable(SimpleUserTable simpleUserTable)

setAccountTable

public void setAccountTable(AccountTable accountTable)


Copyright © 2007-2008 www.unitedfront2.org. All Rights Reserved.