抽象处理者( Handler ) 角色: 定义出一个处理请求的接口, 维护一个自身的对象, 如果
需要, 接口可以定义出一个方法, 以返回对下家的引用。
package com.example.demo.util;
import lombok.Data;
import java.util.Objects;
@Data
public abstract class Handler {
public Handler nextHandler;
public String handle(String msg) {
if (Objects.isNull(nextHandler)) {
return "";
} else {
return nextHandler.handle(msg);
}
}
public void next(Handler handler){
this.nextHandler = handler;
}
//建造者模式
public static class Builder {
private Handler head;
private Handler tail;
public Builder addHandler(Handler handler) {
if (this.head == null) {
this.head = this.tail = handler;
return this;
}
this.tail.next(handler);
this.tail = handler;
re