diff --git a/chain/src/main/java/com/iluwatar/chain/App.java b/chain/src/main/java/com/iluwatar/chain/App.java index 21d206696..5f98b2478 100644 --- a/chain/src/main/java/com/iluwatar/chain/App.java +++ b/chain/src/main/java/com/iluwatar/chain/App.java @@ -1,22 +1,26 @@ -package com.iluwatar.chain; - -/** - * - * Chain of Responsibility organizes request handlers (RequestHandler) into a - * chain where each handler has a chance to act on the request on its turn. In - * this example the king (OrcKing) makes requests and the military orcs - * (OrcCommander, OrcOfficer, OrcSoldier) form the handler chain. - * - */ -public class App { - - public static void main(String[] args) { - - OrcKing king = new OrcKing(); - king.makeRequest(new Request(RequestType.DEFEND_CASTLE, "defend castle")); - king.makeRequest(new Request(RequestType.TORTURE_PRISONER, - "torture prisoner")); - king.makeRequest(new Request(RequestType.COLLECT_TAX, "collect tax")); - - } -} +package com.iluwatar.chain; + +/** + * + * Chain of Responsibility organizes request handlers ({@link RequestHandler}) into a + * chain where each handler has a chance to act on the request on its turn. In + * this example the king ({@link OrcKing}) makes requests and the military orcs + * ({@link OrcCommander}, {@link OrcOfficer}, {@link OrcSoldier}) form the handler chain. + * + */ +public class App { + + /** + * Program entry point + * @param args command line args + */ + public static void main(String[] args) { + + OrcKing king = new OrcKing(); + king.makeRequest(new Request(RequestType.DEFEND_CASTLE, "defend castle")); + king.makeRequest(new Request(RequestType.TORTURE_PRISONER, + "torture prisoner")); + king.makeRequest(new Request(RequestType.COLLECT_TAX, "collect tax")); + + } +} diff --git a/chain/src/main/java/com/iluwatar/chain/OrcCommander.java b/chain/src/main/java/com/iluwatar/chain/OrcCommander.java index 1f5f4de86..fb5134e01 100644 --- a/chain/src/main/java/com/iluwatar/chain/OrcCommander.java +++ b/chain/src/main/java/com/iluwatar/chain/OrcCommander.java @@ -1,22 +1,27 @@ -package com.iluwatar.chain; - -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); - } else { - super.handleRequest(req); - } - } - - @Override - public String toString() { - return "Orc commander"; - } -} +package com.iluwatar.chain; + +/** + * + * OrcCommander + * + */ +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); + } else { + super.handleRequest(req); + } + } + + @Override + public String toString() { + return "Orc commander"; + } +} diff --git a/chain/src/main/java/com/iluwatar/chain/OrcKing.java b/chain/src/main/java/com/iluwatar/chain/OrcKing.java index afd2616fe..b39959935 100644 --- a/chain/src/main/java/com/iluwatar/chain/OrcKing.java +++ b/chain/src/main/java/com/iluwatar/chain/OrcKing.java @@ -1,24 +1,24 @@ -package com.iluwatar.chain; - -/** - * - * Makes requests that are handled by the chain. - * - */ -public class OrcKing { - - RequestHandler chain; - - public OrcKing() { - buildChain(); - } - - private void buildChain() { - chain = new OrcCommander(new OrcOfficer(new OrcSoldier(null))); - } - - public void makeRequest(Request req) { - chain.handleRequest(req); - } - -} +package com.iluwatar.chain; + +/** + * + * OrcKing makes requests that are handled by the chain. + * + */ +public class OrcKing { + + RequestHandler chain; + + public OrcKing() { + buildChain(); + } + + private void buildChain() { + chain = new OrcCommander(new OrcOfficer(new OrcSoldier(null))); + } + + public void makeRequest(Request req) { + chain.handleRequest(req); + } + +} diff --git a/chain/src/main/java/com/iluwatar/chain/OrcOfficer.java b/chain/src/main/java/com/iluwatar/chain/OrcOfficer.java index c09729cc8..131cb1101 100644 --- a/chain/src/main/java/com/iluwatar/chain/OrcOfficer.java +++ b/chain/src/main/java/com/iluwatar/chain/OrcOfficer.java @@ -1,23 +1,28 @@ -package com.iluwatar.chain; - -public class OrcOfficer extends RequestHandler { - - public OrcOfficer(RequestHandler handler) { - super(handler); - } - - @Override - public void handleRequest(Request req) { - if (req.getRequestType().equals(RequestType.TORTURE_PRISONER)) { - printHandling(req); - } else { - super.handleRequest(req); - } - } - - @Override - public String toString() { - return "Orc officer"; - } - -} +package com.iluwatar.chain; + +/** + * + * OrcOfficer + * + */ +public class OrcOfficer extends RequestHandler { + + public OrcOfficer(RequestHandler handler) { + super(handler); + } + + @Override + public void handleRequest(Request req) { + if (req.getRequestType().equals(RequestType.TORTURE_PRISONER)) { + printHandling(req); + } else { + super.handleRequest(req); + } + } + + @Override + public String toString() { + return "Orc officer"; + } + +} diff --git a/chain/src/main/java/com/iluwatar/chain/OrcSoldier.java b/chain/src/main/java/com/iluwatar/chain/OrcSoldier.java index f52c7d543..a681dfb77 100644 --- a/chain/src/main/java/com/iluwatar/chain/OrcSoldier.java +++ b/chain/src/main/java/com/iluwatar/chain/OrcSoldier.java @@ -1,22 +1,27 @@ -package com.iluwatar.chain; - -public class OrcSoldier extends RequestHandler { - - public OrcSoldier(RequestHandler handler) { - super(handler); - } - - @Override - public void handleRequest(Request req) { - if (req.getRequestType().equals(RequestType.COLLECT_TAX)) { - printHandling(req); - } else { - super.handleRequest(req); - } - } - - @Override - public String toString() { - return "Orc soldier"; - } -} +package com.iluwatar.chain; + +/** + * + * OrcSoldier + * + */ +public class OrcSoldier extends RequestHandler { + + public OrcSoldier(RequestHandler handler) { + super(handler); + } + + @Override + public void handleRequest(Request req) { + if (req.getRequestType().equals(RequestType.COLLECT_TAX)) { + printHandling(req); + } else { + super.handleRequest(req); + } + } + + @Override + public String toString() { + return "Orc soldier"; + } +} diff --git a/chain/src/main/java/com/iluwatar/chain/Request.java b/chain/src/main/java/com/iluwatar/chain/Request.java index ad55522f0..558ee65d1 100644 --- a/chain/src/main/java/com/iluwatar/chain/Request.java +++ b/chain/src/main/java/com/iluwatar/chain/Request.java @@ -1,33 +1,38 @@ -package com.iluwatar.chain; - -public class Request { - - private String requestDescription; - private RequestType requestType; - - public Request(RequestType requestType, String requestDescription) { - this.setRequestType(requestType); - this.setRequestDescription(requestDescription); - } - - public String getRequestDescription() { - return requestDescription; - } - - public void setRequestDescription(String requestDescription) { - this.requestDescription = requestDescription; - } - - public RequestType getRequestType() { - return requestType; - } - - public void setRequestType(RequestType requestType) { - this.requestType = requestType; - } - - @Override - public String toString() { - return getRequestDescription(); - } -} +package com.iluwatar.chain; + +/** + * + * Request + * + */ +public class Request { + + private String requestDescription; + private RequestType requestType; + + public Request(RequestType requestType, String requestDescription) { + this.setRequestType(requestType); + this.setRequestDescription(requestDescription); + } + + public String getRequestDescription() { + return requestDescription; + } + + public void setRequestDescription(String requestDescription) { + this.requestDescription = requestDescription; + } + + public RequestType getRequestType() { + return requestType; + } + + public void setRequestType(RequestType requestType) { + this.requestType = requestType; + } + + @Override + public String toString() { + return getRequestDescription(); + } +} diff --git a/chain/src/main/java/com/iluwatar/chain/RequestHandler.java b/chain/src/main/java/com/iluwatar/chain/RequestHandler.java index dbb8b10a6..5570c20ce 100644 --- a/chain/src/main/java/com/iluwatar/chain/RequestHandler.java +++ b/chain/src/main/java/com/iluwatar/chain/RequestHandler.java @@ -1,23 +1,28 @@ -package com.iluwatar.chain; - -public abstract class RequestHandler { - - private RequestHandler next; - - public RequestHandler(RequestHandler next) { - this.next = next; - } - - public void handleRequest(Request req) { - if (next != null) { - next.handleRequest(req); - } - } - - protected void printHandling(Request req) { - System.out.println(this + " handling request \"" + req + "\""); - } - - @Override - public abstract String toString(); -} +package com.iluwatar.chain; + +/** + * + * RequestHandler + * + */ +public abstract class RequestHandler { + + private RequestHandler next; + + public RequestHandler(RequestHandler next) { + this.next = next; + } + + public void handleRequest(Request req) { + if (next != null) { + next.handleRequest(req); + } + } + + protected void printHandling(Request req) { + System.out.println(this + " handling request \"" + req + "\""); + } + + @Override + public abstract String toString(); +} diff --git a/chain/src/main/java/com/iluwatar/chain/RequestType.java b/chain/src/main/java/com/iluwatar/chain/RequestType.java index 21727535e..9ad975d2f 100644 --- a/chain/src/main/java/com/iluwatar/chain/RequestType.java +++ b/chain/src/main/java/com/iluwatar/chain/RequestType.java @@ -1,7 +1,12 @@ -package com.iluwatar.chain; - -public enum RequestType { - - DEFEND_CASTLE, TORTURE_PRISONER, COLLECT_TAX - -} +package com.iluwatar.chain; + +/** + * + * RequestType enumeration + * + */ +public enum RequestType { + + DEFEND_CASTLE, TORTURE_PRISONER, COLLECT_TAX + +} diff --git a/chain/src/test/java/com/iluwatar/chain/AppTest.java b/chain/src/test/java/com/iluwatar/chain/AppTest.java index 5edba69bb..aa52e60e2 100644 --- a/chain/src/test/java/com/iluwatar/chain/AppTest.java +++ b/chain/src/test/java/com/iluwatar/chain/AppTest.java @@ -1,14 +1,19 @@ -package com.iluwatar.chain; - -import org.junit.Test; - -import com.iluwatar.chain.App; - -public class AppTest { - - @Test - public void test() { - String[] args = {}; - App.main(args); - } -} +package com.iluwatar.chain; + +import org.junit.Test; + +import com.iluwatar.chain.App; + +/** + * + * Application test + * + */ +public class AppTest { + + @Test + public void test() { + String[] args = {}; + App.main(args); + } +}