📄 hostlist.java
字号:
package examples.finder;
import com.ibm.aglet.*;
import com.ibm.aglet.event.*;
import java.io.PrintStream;
import java.net.URL;
import java.util.Enumeration;
import java.util.Hashtable;
public class HostList extends Aglet
implements PersistencyListener, MobilityListener
{
Hashtable hostList;
public HostList()
{
}
public void appendList(Hashtable hashtable)
{
for(Enumeration enumeration = hashtable.keys(); enumeration.hasMoreElements();)
{
Object obj = enumeration.nextElement();
if((hashtable.get(obj) instanceof String) && hostList.get(obj) == null)
{
System.out.println("new: " + obj);
hostList.put(obj, "new");
}
}
}
public boolean handleMessage(Message message)
{
if(message.sameKind("dialog"))
{
try
{
int i = 0;
System.out.println("HostList -- begin");
for(Enumeration enumeration = hostList.keys(); enumeration.hasMoreElements(); System.out.println(i++ + ": " + enumeration.nextElement()));
System.out.println("HostList -- end");
}
catch(Exception exception)
{
exception.printStackTrace();
}
return true;
}
if(message.sameKind("register"))
{
if(message.getArg() instanceof String)
hostList.put(message.getArg(), "running");
return true;
}
if(message.sameKind("append"))
{
if(message.getArg() instanceof Hashtable)
appendList((Hashtable)message.getArg());
return true;
}
if(message.sameKind("getlist"))
{
message.sendReply(hostList);
return true;
}
if(message.sameKind("shutdown"))
{
try
{
deactivate(0L);
}
catch(Exception exception1) { }
return true;
}
if(message.sameKind("dispose"))
{
dispose();
return true;
} else
{
return true;
}
}
public void onActivation(PersistencyEvent persistencyevent)
{
AgletContext agletcontext = getAgletContext();
AgletProxy agletproxy = getProxy();
AgletProxy agletproxy1 = (AgletProxy)agletcontext.getProperty("hostlist");
if(agletproxy1 != null && agletproxy1.isValid())
{
try
{
agletproxy1.sendMessage(new Message("append", hostList));
}
catch(Exception exception)
{
System.out.println(exception);
}
dispose();
} else
{
agletcontext.setProperty("hostlist", agletproxy);
}
}
public void onArrival(MobilityEvent mobilityevent)
{
dispose();
}
public void onCreation(Object obj)
{
AgletContext agletcontext = getAgletContext();
AgletProxy agletproxy = getProxy();
addMobilityListener(this);
addPersistencyListener(this);
AgletProxy agletproxy1 = (AgletProxy)agletcontext.getProperty("hostlist");
if(agletproxy1 != null && agletproxy1.isValid())
{
if(obj instanceof Hashtable)
try
{
agletproxy1.sendMessage(new Message("append", obj));
}
catch(Exception exception)
{
System.out.println(exception);
}
dispose();
} else
{
agletcontext.setProperty("hostlist", agletproxy);
if(obj instanceof Hashtable)
hostList = (Hashtable)((Hashtable)obj).clone();
else
hostList = new Hashtable();
hostList.put(agletcontext.getHostingURL().toString(), "running");
}
}
public void onDeactivating(PersistencyEvent persistencyevent)
{
getAgletContext().setProperty("hostlist", null);
}
public void onDispatching(MobilityEvent mobilityevent)
{
}
public void onRetraction(MobilityEvent mobilityevent)
{
}
public void onReverting(MobilityEvent mobilityevent)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -