From 6ba6988d5ee225b6e1b9796bb2587fad4003b8d9 Mon Sep 17 00:00:00 2001 From: WuLang <48200100+wulangcode@users.noreply.github.com> Date: Sat, 7 Jan 2023 01:30:02 +0800 Subject: [PATCH] docs: Fix documentation errors (#2440) --- chain-of-responsibility/README.md | 58 +++++++++++++------------------ 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/chain-of-responsibility/README.md b/chain-of-responsibility/README.md index c868eca48..e9ed08631 100644 --- a/chain-of-responsibility/README.md +++ b/chain-of-responsibility/README.md @@ -67,47 +67,39 @@ public enum RequestType { Next, we show the request handler hierarchy. ```java -@Slf4j -public abstract class RequestHandler { - private final RequestHandler next; +public interface RequestHandler { - public RequestHandler(RequestHandler next) { - this.next = next; - } + boolean canHandleRequest(Request req); - public void handleRequest(Request req) { - if (next != null) { - next.handleRequest(req); - } - } + int getPriority(); - protected void printHandling(Request req) { - LOGGER.info("{} handling request \"{}\"", this, req); - } + void handle(Request req); - @Override - public abstract String toString(); + String name(); } -public class OrcCommander extends RequestHandler { - public OrcCommander(RequestHandler handler) { - super(handler); - } - - @Override - public void handleRequest(Request req) { - if (req.getRequestType().equals(RequestType.DEFEND_CASTLE)) { - printHandling(req); - req.markHandled(); - } else { - super.handleRequest(req); +@Slf4j +public class OrcCommander implements RequestHandler { + @Override + public boolean canHandleRequest(Request req) { + return req.getRequestType() == RequestType.DEFEND_CASTLE; } - } - @Override - public String toString() { - return "Orc commander"; - } + @Override + public int getPriority() { + return 2; + } + + @Override + public void handle(Request req) { + req.markHandled(); + LOGGER.info("{} handling request \"{}\"", name(), req); + } + + @Override + public String name() { + return "Orc commander"; + } } // OrcOfficer and OrcSoldier are defined similarly as OrcCommander