root/www.mail/JavaPopWeb/src/jp/ac/nime/computer/MailDataObject.java

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. MailDataObject
  2. drawIcon
  3. makeHeader
  4. getIcon
  5. setIcon
  6. setFrom
  7. getFrom
  8. getTo
  9. setTo
  10. getCc
  11. setCc
  12. getBcc
  13. setBcc
  14. getBody
  15. setBody
  16. setHeader
  17. getHeader
  18. setJisEnc
  19. 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;
        }
}

/* [<][>][^][v][top][bottom][index][help] */