mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-10-14 08:18:23 +00:00
docs: Fix documentation errors (#2440)
This commit is contained in:
1 parent
919d7d0339
commit
6ba6988d5e
1 file changed
+25
-33
@@ -67,47 +67,39 @@ public enum RequestType {
|
|||||||
Next, we show the request handler hierarchy.
|
Next, we show the request handler hierarchy.
|
||||||
|
|
||||||
```java
|
```java
|
||||||
@Slf4j
|
public interface RequestHandler {
|
||||||
public abstract class RequestHandler {
|
|
||||||
private final RequestHandler next;
|
|
||||||
|
|
||||||
public RequestHandler(RequestHandler next) {
|
boolean canHandleRequest(Request req);
|
||||||
this.next = next;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void handleRequest(Request req) {
|
int getPriority();
|
||||||
if (next != null) {
|
|
||||||
next.handleRequest(req);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void printHandling(Request req) {
|
void handle(Request req);
|
||||||
LOGGER.info("{} handling request \"{}\"", this, req);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
String name();
|
||||||
public abstract String toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OrcCommander extends RequestHandler {
|
@Slf4j
|
||||||
public OrcCommander(RequestHandler handler) {
|
public class OrcCommander implements RequestHandler {
|
||||||
super(handler);
|
@Override
|
||||||
}
|
public boolean canHandleRequest(Request req) {
|
||||||
|
return req.getRequestType() == RequestType.DEFEND_CASTLE;
|
||||||
@Override
|
|
||||||
public void handleRequest(Request req) {
|
|
||||||
if (req.getRequestType().equals(RequestType.DEFEND_CASTLE)) {
|
|
||||||
printHandling(req);
|
|
||||||
req.markHandled();
|
|
||||||
} else {
|
|
||||||
super.handleRequest(req);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public int getPriority() {
|
||||||
return "Orc commander";
|
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
|
// OrcOfficer and OrcSoldier are defined similarly as OrcCommander
|
||||||
|
|||||||
Reference in new issue
Block a user