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

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

DEFINITIONS

This source file includes following definitions.
  1. DNSServItem
  2. setDNSTable
  3. onMousePressed
  4. postMailAction
  5. postPacketAction
  6. postEventAction

package jp.ac.nime.computer.websim;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

import jp.ac.nime.computer.*;

/**
 * WWWシミュレータ DNSサーバーオブジェクトクラス
 * 
 * @version 1.00 2003/03/31
 * @author Toshikazu Matsumoto Avion Corp.
 */
public class DNSServItem extends MachineItem
{
        private WebSim  m_Applet;       //メインアプレットクラス
        private Hashtable m_htDNS;      //DNS名前一覧ハッシュテーブル
        
        /**
         * クラスコンストラクタ
         * @param parent メインアプレットクラス
         * @param sIP IPアドレス
         * @param imSrc 表示画像
         * @param nX 表示X座標
         * @param nY 表示Y座標
         */
        public DNSServItem(WebSim parent,String sIP,Image imSrc,int nX,int nY)
        {
                super(parent,"DNS",sIP,imSrc,nX,nY);
                this.m_Applet=parent;
                this.m_htDNS=new Hashtable();
                this.setDNSTable();
        }
        /**
         * DNS名前引きテーブルのデフォルト値をセットする
         */
        private void setDNSTable()
        {
                this.m_htDNS.put("www.avion.co.jp","192.168.0.4");
                this.m_htDNS.put("host.a.jp","192.168.0.1");
                this.m_htDNS.put("host.b.jp","192.168.0.2");
        }
        /**
         * マウス押下時のアクション
         */
        public boolean onMousePressed()
        {
                return true;
        }
        /**
         * メールオブジェクト到達通知アクション
         * @param obj メールデータオブジェクト
         */
        public void postMailAction(MailDataObject obj)
        {
        }
        /**
         * HTTPパケットオブジェクト到達アクション
         * @param obj HTTPパケットオブジェクト
         */
        public void postPacketAction(HTTPPacketData obj)
        {
                String sMemo=obj.getMemo();
                if(this.m_htDNS.containsKey(sMemo)==false)
                {
                        sMemo="Not Found";
                }
                else
                {
                        sMemo=(String)this.m_htDNS.get(sMemo);
                }
                obj.setMemo(sMemo);
                obj.setProcess(1);
                obj.setStatus(HTTPPacketData.HTTP_PACKET_STATUS_RET_DNS);
                obj.setMoveObject(this,obj.getMoveFrom());
                this.m_Applet.addPacket(obj);
        }
        /**
         * 外部からのイベント通知
         * @param nEvent イベント種類
         */
        public void postEventAction(int nEvent)
        {
                
        }
        
}

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