?? stationaryaglet.java
字號:
package examples.itinerary;
import com.ibm.aglet.*;
import com.ibm.aglet.event.MobilityEvent;
import com.ibm.aglet.event.MobilityListener;
import com.ibm.agletx.patterns.Meeting;
import java.io.PrintStream;
public final class StationaryAglet extends Aglet
implements MobilityListener
{
private Meeting meeting;
boolean dispatched;
public StationaryAglet()
{
meeting = null;
dispatched = false;
}
public boolean handleMessage(Message message)
{
if(message.sameKind("dispose"))
try
{
dispose();
return true;
}
catch(Exception exception)
{
exception.printStackTrace();
}
else
if(meeting != null && message.sameKind(meeting.getID()))
{
meet((AgletID)message.getArg());
message.sendReply(getAgletID());
dispose();
return true;
}
return false;
}
private void meet(AgletID agletid)
{
print("[" + getAgletID() + "] I met with VisitingAglet [id=" + agletid + "]");
}
public void onArrival(MobilityEvent mobilityevent)
{
print("on Arrival");
dispatched = true;
try
{
meeting.ready(this);
}
catch(Exception exception)
{
exception.printStackTrace();
}
}
public void onCreation(Object obj)
{
print("created!");
addMobilityListener(this);
meeting = (Meeting)obj;
}
public void onDispatching(MobilityEvent mobilityevent)
{
if(dispatched)
throw new SecurityException("Don't try to move me!!");
else
return;
}
public void onDisposing()
{
print("disposed!!");
}
public void onReverting(MobilityEvent mobilityevent)
{
throw new SecurityException();
}
private void print(String s)
{
System.out.println(">>>StationaryAglet:" + s);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -