Add CommandParserDispatcher to dispatch PrimitiveRequest to matching CommandParser #188

Merged
lars.winzer merged 4 commits from feat/command-parser into main 2026-03-15 17:21:08 +01:00
4 changed files with 15 additions and 9 deletions
Showing only changes of commit f7f570638b - Show all commits
@@ -1,9 +1,13 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
/** Parser to convert the PrimitiveRequest to a Request and performing checks for required fields and data types */
/**
* Parser to convert the PrimitiveRequest to a Request and performing checks for required fields and
* data types
*/
public interface CommandParser {
/**
* Parses the provided PrimitiveRequest into a command-specific request
*
* @param primitiveRequest
* @return
*/
@@ -9,6 +9,7 @@ public class CommandParserDispatcher {
/**
* Register a new CommandParser
*
* @param command
* @param parser the parser class
*/
@@ -18,6 +19,7 @@ public class CommandParserDispatcher {
/**
* Parses the PrimitiveRequest into a Request using the appropriate CommandParser
*
* @param primitiveRequest the PrimitiveRequest to parse
* @return the parsed Request object
*/
@@ -1,6 +1,4 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
/** Request, produced by the CommandParser */
public interface Request {
}
public interface Request {}
@@ -1,7 +1,9 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
/** Exception thrown when the CommandParserDispatcher has no registered handler for the provided
* request */
/**
* Exception thrown when the CommandParserDispatcher has no registered handler for the provided
* request
*/
public class UnknownCommandException extends RuntimeException {
public UnknownCommandException(String message) {
super(message);