androidチェーンモード責任チェーン
8196 ワード
private void t() {
bj bj = new bj();
cs cs = new cs();
cz cz = new cz();
bj.next=cs;
cs.next=cz;
bj.handleMessage("two");
}
abstract class handler{
protected handler next;
public abstract void handleMessage(String key);
}
class bj extends handler{
@Override
public void handleMessage(String key) {
if ("one".equals(key))
{
Log.i(TAG, "handleMessage: one handled");
}else {
if (next!=null)
next.handleMessage(key);
}
}
}
class cs extends handler{
@Override
public void handleMessage(String key) {
if ("two".equals(key))
{
Log.i(TAG, "handleMessage: two handled");
}else {
if (next!=null)
next.handleMessage(key);
}
}
}
class cz extends handler{
@Override
public void handleMessage(String key) {
if ("three".equals(key))
{
Log.i(TAG, "handleMessage: three handled");
}else {
if (next!=null)
next.handleMessage(key);
}
}
}