/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- MailDataObject
- drawIcon
- makeHeader
- getIcon
- setIcon
- setFrom
- getFrom
- getTo
- setTo
- getCc
- setCc
- getBcc
- setBcc
- getBody
- setBody
- setHeader
- getHeader
- setJisEnc
- isJisEnc
package jp.ac.nime.computer;
import java.awt.*;
import java.util.*;
/**
* メールパケットデータオブジェクトクラス
*
* @version 1.00 2003/03/31
* @author Toshikazu Matsumoto Avion Corp.
*/
public class MailDataObject extends PacketObject
{
public final static int MAIL_STATUS_FOR_SMTP = 1;
public final static int MAIL_STATUS_FOR_QUEUE = 2;
public final static int MAIL_STATUS_FOR_SPOOL = 3;
public final static int MAIL_STATUS_REACH_SPOOL = 4;
public final static int MAIL_STATUS_SPOOL = 5;
public final static int MAIL_STATUS_FOR_PC = 6;
public final static int MAIL_STATUS_REACH_PC = 7;
public final static int MAIL_STATUS_TELL_SPOOL = 8;
private Component m_Root; //親コンポーネントクラス
private Image m_imIcon; //表示画像
private String m_sMessageID; //メッセージID
private String m_sHeader; //メールヘッダー
private String m_sFrom; //From
private String m_sTo; //To
private String m_sCc; //CC
private String m_sBcc; //BCC
private String m_sSubject; //件名
private String m_sBody; //本文
private Vector m_vcRec; //Recive列
private boolean m_bJis=false; //JISエンコードフラグ
private boolean m_bStop=false; //スレッド停止フラグ
/**
* クラスコンストラクタ
* @param root 親コンポーネントクラス
* @param imSrc 表示画像
* @param sTo メール送信先アドレス
*/
public MailDataObject(Component root,Image imSrc,String sTo)
{
super(root,imSrc);
this.m_Root=root;
this.m_vcRec=new Vector();
this.m_sTo=sTo;
super.setStatus(MAIL_STATUS_FOR_SMTP);
this.drawIcon();
}
/**
* アイコン画像の描画
*/
private void drawIcon()
{
this.m_imIcon=this.m_Root.createImage(super.getIcon().getWidth(this.m_Root),super.getIcon().getHeight(this.m_Root));
Graphics g=this.m_imIcon.getGraphics();
g.drawImage(super.getIcon(),0,0,this.m_Root);
g.setFont(new Font("Helvetica",Font.PLAIN,8));
FontMetrics met=g.getFontMetrics();
g.drawString(this.m_sTo,0,22-met.getAscent());
}
/**
* ヘッダ文字列の生成
*/
public void makeHeader()
{
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date(System.currentTimeMillis()));
this.m_sHeader="Message-Id: <abcd123456789@protrade>\n";
this.m_sHeader+="Date: "+calendar.get(Calendar.YEAR)+"/"+calendar.get(Calendar.MONTH)+"/"+calendar.DATE+"\n";
this.m_sHeader+="From: <"+this.m_sFrom+">\n";
this.m_sHeader+="To: <"+this.m_sTo+">\n";
this.m_sHeader+="Cc: <"+this.m_sCc+">\n";
this.m_sHeader+="Reply-To: "+this.m_sFrom+">\n";
this.m_sHeader+="Subject: "+this.m_sSubject+"\n";
this.m_sHeader+="Mime-Version: 1.0\n";
this.m_sHeader+="X-Mailer: Nime Simurator\n";
this.m_sHeader+="Content-Type: text/plain; charset=iso-2022-jp\n";
this.m_sHeader+="Content-Transfer-Encoding: 7bit\n";
}
/**
* アイコン画像の取得
* @return 生成されたアイコン画像
*/
public Image getIcon()
{
return this.m_imIcon;
}
/**
* アイコン画像のセット
* @param セットするアイコン画像
*/
public void setIcon(Image im)
{
super.setIcon(im);
this.drawIcon();
}
/**
* メールFromをセット
* @param s Fromアドレス
*/
public void setFrom(String s)
{
this.m_sFrom=s;
}
/**
* メールFromを取得
* @retun メールFromアドレス
*/
public String getFrom()
{
return this.m_sFrom;
}
/**
* メールToアドレスを取得
* @return メールToアドレス
*/
public String getTo()
{
return this.m_sTo;
}
/**
* メールFromをセット
* @param s Fromアドレス
*/
public void setTo(String s)
{
this.m_sTo=s;
}
/**
* メールCCを取得
* @retun メールCCアドレス
*/
public String getCc()
{
return this.m_sCc;
}
/**
* メールCCをセット
* @param s CCアドレス
*/
public void setCc(String s)
{
this.m_sCc=s;
}
/**
* メールBCCを取得
* @retun メールBCCアドレス
*/
public String getBcc()
{
return this.m_sBcc;
}
/**
* メールBCCをセット
* @param s BCCアドレス
*/
public void setBcc(String s)
{
this.m_sBcc=s;
}
/**
* メール本文を取得
* @retun メール本文
*/
public String getBody()
{
return this.m_sBody;
}
/**
* メール本文をセット
* @param s メール本文
*/
public void setBody(String s)
{
this.m_sBody=s;
}
/**
* メールヘッダーをセット
* @param s メールヘッダー
*/
public void setHeader(String s)
{
this.m_sHeader=s;
}
/**
* メールヘッダーを取得
* @retun メールヘッダー
*/
public String getHeader()
{
return this.m_sHeader;
}
/**
* JISエンコードフラグをセット
* @param b true:エンコードされている false:エンコードなし
*/
public void setJisEnc(boolean b)
{
this.m_bJis=b;
}
/**
* JISエンコードされているかを確認
* @return true:エンコードされている false:エンコードなし
*/
public boolean isJisEnc()
{
return this.m_bJis;
}
}