打字猴:1.700464411e+09
1700464411
1700464412 代码清单16-14 抽象处理者
1700464413
1700464414 public abstract class Handler{
1700464415
1700464416 private Handler nextHandler;
1700464417
1700464418 //每个处理者都必须对请求做出处理
1700464419
1700464420 public final Response handleMessage(Request request){
1700464421
1700464422 Response response=null;
1700464423
1700464424 //判断是否是自己的处理级别
1700464425
1700464426 if(this.getHandlerLevel().equals(request.getRequestLevel())){
1700464427
1700464428 response=this.echo(request);
1700464429
1700464430 }else{//不属于自己的处理级别
1700464431
1700464432 //判断是否有下一个处理者
1700464433
1700464434 if(this.nextHandler!=null){
1700464435
1700464436 response=this.nextHandler.handleMessage(request);
1700464437
1700464438 }else{
1700464439
1700464440 //没有适当的处理者,业务自行处理
1700464441
1700464442 }
1700464443
1700464444 }
1700464445
1700464446 return response;
1700464447
1700464448 }
1700464449
1700464450 //设置下一个处理者是谁
1700464451
1700464452 public void setNext(Handler_handler){
1700464453
1700464454 this.nextHandler=_handler;
1700464455
1700464456 }
1700464457
1700464458 //每个处理者都有一个处理级别
1700464459
1700464460 protected abstract Level getHandlerLevel();
[ 上一页 ]  [ :1.700464411e+09 ]  [ 下一页 ]