/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- DNSServItem
- setDNSTable
- onMousePressed
- postMailAction
- postPacketAction
- 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)
{
}
}